Node reference
Algolia
Algolia node reference - all 222 operations, the credential it needs, and a worked example.
Algolia (Data Store). 222 operations across every Algolia API: search, browse and facet search; records, batches and partial updates; indices, settings, synonyms, query rules and dictionaries; API keys, allowed source IPs and logs; Recommend; Compositions; Insights events; Analytics; A/B testing; Query Suggestions; Personalization and Advanced Personalization; the Ingestion connectors platform; Monitoring; the Crawler; and Agent Studio.
Credential: Algolia app ID + API key - see Credentials.
Each operation below lists the ACL it needs. ACLs are ticked on the API key when it is CREATED, at dashboard.algolia.com/account/api-keys. The thing that catches people out is that an ACL cannot be added to an existing key afterwards - the fix for a 403 is always a new key, never an edit - and that the Search-only key the dashboard hands you by default carries search and browse and nothing else, so every write below fails against it. A key can also be scoped to named indices, which is a second, independent gate: a key with addObject restricted to products_* still 403s on orders. Two planes do not answer to ACLs at all. The Crawler authenticates with a completely different credential - HTTP Basic over the Crawler user ID and Crawler API key from dashboard.algolia.com/crawler/settings - so a credential holding only appId/apiKey cannot call it and the node refuses before the request. The Monitoring reads are public except for the infrastructure metrics, which need the account's Monitoring API key. And one failure mode is not a permission at all: Analytics, Insights, Query Suggestions, Personalization and Ingestion are REGION-scoped hosts with no region-less form, so a European application addressed at the default US host answers 401 with a body that reads exactly like a bad key - check the node's Region field before rotating anything. If a run fails with a permission error, the node names the missing ACL in the error - grant it and re-run; you do not need to rebuild the workflow.
| Operation | What it does | ACL |
|---|
search | Search an index | search |
searchMultipleIndexes | Search multiple indices / queries | search |
searchForFacetValues | Search for facet values | search |
browse | Browse all records (cursor export) | browse |
| Operation | What it does | ACL |
|---|
saveObject | Save record | addObject |
addOrUpdateObject | Add or replace record (by object ID) | addObject |
getObject | Get record | search |
getObjects | Get multiple records | search |
partialUpdateObject | Partially update record | addObject |
deleteObject | Delete record | deleteObject |
deleteByQuery | Delete records by filter | deleteIndex |
clearObjects | Delete all records in an index | deleteIndex |
batch | Batch write (one index) | addObject |
multipleBatch | Batch write (multiple indices) | addObject |
| Operation | What it does | ACL |
|---|
listIndices | List indices | listIndexes |
deleteIndex | Delete index | deleteIndex |
operationIndex | Copy or move an index | addObject |
getTask | Get indexing task status | addObject |
getAppTask | Get application task status | editSettings |
| Operation | What it does | ACL |
|---|
getSettings | Get index settings | settings |
setSettings | Update index settings | editSettings |
| Operation | What it does | ACL |
|---|
getSynonym | Get synonym | settings |
saveSynonym | Save synonym | editSettings |
saveSynonyms | Save synonyms (batch) | editSettings |
deleteSynonym | Delete synonym | editSettings |
clearSynonyms | Delete all synonyms | editSettings |
searchSynonyms | Search synonyms | settings |
| Operation | What it does | ACL |
|---|
getRule | Get rule | settings |
saveRule | Save rule | editSettings |
saveRules | Save rules (batch) | editSettings |
deleteRule | Delete rule | editSettings |
clearRules | Delete all rules | editSettings |
searchRules | Search rules | settings |
| Operation | What it does | ACL |
|---|
batchDictionaryEntries | Add or delete dictionary entries | editSettings |
searchDictionaryEntries | Search dictionary entries | settings |
getDictionarySettings | Get dictionary settings | settings |
setDictionarySettings | Update dictionary settings | editSettings |
getDictionaryLanguages | List dictionary languages | settings |
| Operation | What it does | ACL |
|---|
listApiKeys | List API keys | admin |
getApiKey | Get API key permissions | search |
addApiKey | Create API key | admin |
updateApiKey | Update API key | admin |
deleteApiKey | Delete API key | admin |
restoreApiKey | Restore API key | admin |
| Operation | What it does | ACL |
|---|
getSources | Get allowed source IPs | admin |
replaceSources | Replace allowed source IPs | admin |
appendSource | Add an allowed source IP | admin |
deleteSecuritySource | Remove an allowed source IP | admin |
getLogs | Get API logs | logs |
| Operation | What it does | ACL |
|---|
getRecommendations | Get recommendations | search |
getRecommendRule | Get Recommend rule | settings |
deleteRecommendRule | Delete Recommend rule | editSettings |
searchRecommendRules | Search Recommend rules | settings |
batchRecommendRules | Save Recommend rules (batch) | editSettings |
getRecommendStatus | Get Recommend task status | editSettings |
| Operation | What it does | ACL |
|---|
runComposition | Run a composition | search |
searchCompositionFacetValues | Search composition facet values | search |
listCompositions | List compositions | editSettings + settings |
getComposition | Get composition | editSettings + settings |
putComposition | Create or replace composition | editSettings |
deleteComposition | Delete composition | editSettings |
batchCompositions | Batch compositions | editSettings |
updateCompositionSortingStrategy | Update composition sorting strategy | editSettings |
getCompositionRule | Get composition rule | editSettings + settings |
putCompositionRule | Create or replace composition rule | editSettings |
deleteCompositionRule | Delete composition rule | editSettings |
saveCompositionRules | Save composition rules (batch) | editSettings |
searchCompositionRules | Search composition rules | settings |
getCompositionTask | Get composition task status | editSettings + settings + addObject + deleteObject + deleteIndex |
| Operation | What it does | ACL |
|---|
pushEvents | Send events | search |
deleteUserToken | Delete a user token's events | deleteObject |
| Operation | What it does | ACL |
|---|
getTopSearches | Top searches | analytics |
getSearchesCount | Count of searches | analytics |
getSearchesNoResults | Searches with no results | analytics |
getSearchesNoClicks | Searches with no clicks | analytics |
getNoResultsRate | No-results rate | analytics |
getNoClickRate | No-click rate | analytics |
| Operation | What it does | ACL |
|---|
getTopHits | Top hits | analytics |
getUsersCount | Count of users | analytics |
getTopFilterAttributes | Top filter attributes | analytics |
getTopFilterForAttribute | Top values for a filter attribute | analytics |
getTopFiltersNoResults | Top filters for no-result searches | analytics |
getTopCountries | Top countries | analytics |
| Operation | What it does | ACL |
|---|
getAverageClickPosition | Average click position | analytics |
getClickPositions | Click positions | analytics |
getClickThroughRate | Click-through rate | analytics |
getConversionRate | Conversion rate | analytics |
getAddToCartRate | Add-to-cart rate | analytics |
getPurchaseRate | Purchase rate | analytics |
getRevenue | Revenue | analytics |
getAnalyticsStatus | Analytics data update status | analytics |
| Operation | What it does | ACL |
|---|
listAbTests | List A/B tests | analytics |
getAbTest | Get A/B test | analytics |
addAbTests | Create A/B test | editSettings |
deleteAbTest | Delete A/B test | editSettings |
stopAbTest | Stop A/B test | editSettings |
estimateAbTest | Estimate A/B test duration | analytics |
getAbTestTimeseries | Get A/B test timeseries | analytics |
| Operation | What it does | ACL |
|---|
listQuerySuggestionsConfigs | List Query Suggestions configurations | settings |
createQuerySuggestionsConfig | Create Query Suggestions configuration | editSettings |
getQuerySuggestionsConfig | Get Query Suggestions configuration | settings |
updateQuerySuggestionsConfig | Update Query Suggestions configuration | editSettings |
deleteQuerySuggestionsConfig | Delete Query Suggestions configuration | editSettings |
getQuerySuggestionsConfigStatus | Get Query Suggestions status | settings |
getQuerySuggestionsLogFile | Get Query Suggestions logs | settings |
| Operation | What it does | ACL |
|---|
getPersonalizationStrategy | Get personalization strategy | recommendation |
setPersonalizationStrategy | Set personalization strategy | recommendation |
getUserTokenProfile | Get a user's personalization profile | recommendation |
deleteUserProfile | Delete a user's personalization profile | recommendation |
| Operation | What it does | ACL |
|---|
getAiPersonalizationConfig | Get Advanced Personalization config | search + browse + recommendation |
setAiPersonalizationConfig | Set Advanced Personalization config | search + browse + recommendation |
listAiPersonalizationUsers | List Advanced Personalization users | search + browse + recommendation |
getAiPersonalizationUser | Get Advanced Personalization user | search + browse + recommendation |
deleteAiPersonalizationUser | Delete Advanced Personalization user | search + browse + recommendation |
getAiPersonalizationRealtimeUser | Get realtime user affinities | recommendation |
| Operation | What it does | ACL |
|---|
listIngestionSources | List sources | addObject + deleteIndex + editSettings |
createIngestionSource | Create source | addObject + deleteIndex + editSettings |
getIngestionSource | Get source | addObject + deleteIndex + editSettings |
updateIngestionSource | Update source | addObject + deleteIndex + editSettings |
deleteIngestionSource | Delete source | addObject + deleteIndex + editSettings |
searchIngestionSources | Search sources by ID | addObject + deleteIndex + editSettings |
validateIngestionSource | Validate a new source | addObject + deleteIndex + editSettings |
validateIngestionSourceUpdate | Validate a source update | addObject + deleteIndex + editSettings |
discoverIngestionSource | Trigger source discovery | addObject + deleteIndex + editSettings |
runIngestionSource | Run a source's tasks | addObject + deleteIndex + editSettings |
| Operation | What it does | ACL |
|---|
listIngestionDestinations | List destinations | addObject + deleteIndex + editSettings |
createIngestionDestination | Create destination | addObject + deleteIndex + editSettings |
getIngestionDestination | Get destination | addObject + deleteIndex + editSettings |
updateIngestionDestination | Update destination | addObject + deleteIndex + editSettings |
deleteIngestionDestination | Delete destination | addObject + deleteIndex + editSettings |
searchIngestionDestinations | Search destinations by ID | addObject + deleteIndex + editSettings |
| Operation | What it does | ACL |
|---|
listIngestionAuthentications | List authentications | addObject + deleteIndex + editSettings |
createIngestionAuthentication | Create authentication | addObject + deleteIndex + editSettings |
getIngestionAuthentication | Get authentication | addObject + deleteIndex + editSettings |
updateIngestionAuthentication | Update authentication | addObject + deleteIndex + editSettings |
deleteIngestionAuthentication | Delete authentication | addObject + deleteIndex + editSettings |
searchIngestionAuthentications | Search authentications by ID | addObject + deleteIndex + editSettings |
| Operation | What it does | ACL |
|---|
pushRecords | Push records to an index | addObject + deleteIndex + editSettings |
pushTaskRecords | Push records through a task | addObject + deleteIndex + editSettings |
listIngestionTasks | List tasks | addObject + deleteIndex + editSettings |
createIngestionTask | Create task | addObject + deleteIndex + editSettings |
getIngestionTask | Get task | addObject + deleteIndex + editSettings |
replaceIngestionTask | Replace task | addObject + deleteIndex + editSettings |
updateIngestionTask | Update task | addObject + deleteIndex + editSettings |
deleteIngestionTask | Delete task | addObject + deleteIndex + editSettings |
searchIngestionTasks | Search tasks by ID | addObject + deleteIndex + editSettings |
runIngestionTask | Run task | addObject + deleteIndex + editSettings |
enableIngestionTask | Enable task | addObject + deleteIndex + editSettings |
disableIngestionTask | Disable task | addObject + deleteIndex + editSettings |
| Operation | What it does | ACL |
|---|
listIngestionTransformations | List transformations | addObject + deleteIndex + editSettings |
createIngestionTransformation | Create transformation | addObject + deleteIndex + editSettings |
getIngestionTransformation | Get transformation | addObject + deleteIndex + editSettings |
updateIngestionTransformation | Update transformation | addObject + deleteIndex + editSettings |
deleteIngestionTransformation | Delete transformation | addObject + deleteIndex + editSettings |
searchIngestionTransformations | Search transformations by ID | addObject + deleteIndex + editSettings |
tryIngestionTransformation | Try a transformation | addObject + deleteIndex + editSettings |
tryIngestionTransformationUpdate | Try a transformation update | addObject + deleteIndex + editSettings |
| Operation | What it does | ACL |
|---|
listIngestionRuns | List task runs | addObject + deleteIndex + editSettings |
getIngestionRun | Get task run | addObject + deleteIndex + editSettings |
listIngestionEvents | List run events | addObject + deleteIndex + editSettings |
getIngestionEvent | Get run event | addObject + deleteIndex + editSettings |
| Operation | What it does | ACL |
|---|
getMonitoringStatus | Status of all clusters | (none — cluster status is public) |
getClusterStatus | Status of specific clusters | (none — cluster status is public) |
getIncidents | All incidents | (none — incidents are public) |
getClusterIncidents | Incidents for specific clusters | (none — incidents are public) |
getServers | Inventory of servers | (none required — authenticating narrows the result to your own cluster) |
getLatency | Search latency | (none — search latency is public) |
getIndexingTime | Indexing latency | (none — indexing latency is public) |
getReachability | Reachability probes | (none — reachability probes are public) |
getInfrastructureMetrics | Infrastructure metrics | (the Monitoring API key — a distinct key type from your search and admin keys, on a Premium or Elevate plan) |
| Operation | What it does | ACL |
|---|
listCrawlers | List crawlers | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
createCrawler | Create crawler | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
getCrawler | Get crawler | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
patchCrawler | Rename or replace a crawler's config | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
deleteCrawler | Delete crawler | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
startCrawlerReindex | Start a crawl (reindex) | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
runCrawler | Unpause crawler | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
pauseCrawler | Pause crawler | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
testCrawlerUrl | Test a URL against a crawler | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
crawlUrls | Crawl specific URLs | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
getCrawlerStats | Get crawled URL statistics | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
listCrawlRuns | List crawl runs | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
getCrawlRunFile | Download a crawl run's log file | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
deleteCrawlRuns | Delete crawl run records | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
patchCrawlerConfig | Update crawler config (versioned) | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
listCrawlerConfigVersions | List crawler config versions | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
getCrawlerConfigVersion | Get a crawler config version | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
getCrawlerTaskStatus | Get crawler task status | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
cancelCrawlerTask | Cancel a blocking crawler task | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
listCrawlerDomains | List registered domains | (the Crawler user ID and Crawler API key, which are NOT the application API key) |
| Operation | What it does | ACL |
|---|
listAgents | List agents | settings |
createAgent | Create agent | editSettings |
getAgent | Get agent | settings |
updateAgent | Update agent | editSettings |
deleteAgent | Delete agent | editSettings |
publishAgent | Publish agent | editSettings |
unpublishAgent | Unpublish agent | editSettings |
invalidateAgentCache | Invalidate agent cache | editSettings |
| Operation | What it does | ACL |
|---|
createAgentCompletion | Ask an agent (completion) | search |
createAgentFeedback | Submit feedback on an answer | search |
listAgentConversations | List conversations | logs |
getAgentConversation | Get conversation | logs |
deleteAgentConversation | Delete conversation | logs |
deleteAgentConversations | Delete all conversations | logs |
exportAgentConversations | Export conversations | logs |
| Operation | What it does | ACL |
|---|
listAgentAllowedDomains | List allowed domains | settings |
createAgentAllowedDomain | Add allowed domain | editSettings |
bulkCreateAgentAllowedDomains | Add allowed domains (bulk) | editSettings |
bulkDeleteAgentAllowedDomains | Remove allowed domains (bulk) | editSettings |
getAgentAllowedDomain | Get allowed domain | settings |
deleteAgentAllowedDomain | Remove allowed domain | editSettings |
listAgentProviders | List LLM providers | settings |
createAgentProvider | Create LLM provider | editSettings |
getAgentProvider | Get LLM provider | settings |
updateAgentProvider | Update LLM provider | editSettings |
deleteAgentProvider | Delete LLM provider | editSettings |
listAgentModels | List all models | settings |
listAgentProviderModels | List a provider's models | settings |
getAgentStudioConfiguration | Get Agent Studio configuration | logs |
updateAgentStudioConfiguration | Update Agent Studio configuration | logs |
getAgentUserData | Get a user token's agent data | logs |
deleteAgentUserData | Delete a user token's agent data | logs |