atmon docs

REFERENCE/TOOLKITS/ALGOLIA_SEARCH.MD

Algolia Search

Hosted site search. Search an index, add and update the records in it, and tune ranking with rules, synonyms, and settings.

PropertyValue
Slugalgolia_search
Definition version0.2.0
Base URLhttps://{{account.app_id}}.algolia.net
Auth schemesapi_key
Action tools58
By class22 read, 23 write, 13 destructive
Triggers0
Provider rate limitnot declared, so outbound calls are unpaced

Measured routing accuracy

74 golden cases replayed through the router over the whole index: measured over corpus ea4f12ad2948 (65 toolkits, 2283 tools indexed and 13 declared uncallable), 58 cases written by hand and 16 cases from the paraphrase pass. A case counts as top-1 when its gold tool ranked first and top-8 when it reached the slate at all.

MeasureCasesShare
top-145/7460.8%
top-870/7494.6%

The sweep is offline: the reranker is a deterministic identity fake that returns candidates in the order retrieval produced them, so top-1 measures retrieval order rather than a reranked slate. just eval-live measures the same cases through the live reranker.

Authentication

Connect an entity with ConnectionsService.InitiateConnection, naming this toolkit's slug. Credentials stay in the connections vault; callers hold connected-account ids only.

api_key

PropertyValue
Placementheader
Namex-algolia-api-key
Rendered as{key}

Submit the key with ConnectionsService rather than putting it in a request; it is sealed at rest and never returned.

Tools

58 action tools. The catalog-wide slug is algolia_search.<tool>, which is what search_tools returns and call_tool takes.

algolia_search.list_clusters

List the Algolia clusters of a multi-cluster application: the server groups records are spread across when each tenant's data lives on its own cluster. Calls GET /1/clusters.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/clusters.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
topUsersarray of stringKey-value pairs with cluster names as keys and lists of users with the highest number of records per cluster as values.

Also retrieved by: "show the server groups used for multi-tenant setups", "what clusters does this account have", "list the machine groups holding records".

algolia_search.list_user_ids

List the user ids mapped to Algolia clusters: which tenants of a multi-cluster application sit on which server group. Calls GET /1/clusters/mapping.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/clusters/mapping.

Arguments:

ArgumentTypeRequiredNotes
hitsPerPageintegernoNumber of hits per page. Defaults to 100.
pageintegernoRequested page of the API response. If null, the API response is not paginated.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
userIDsarray of objectUser IDs.
userIDs[].clusterNamestringCluster to which the user is assigned.
userIDs[].dataSizeintegerData size used by the user.
userIDs[].nbRecordsintegerNumber of records belonging to the user.
userIDs[].userIDstringUnique identifier of the user who makes the search request.

Also retrieved by: "which tenants sit on which server group", "list the mapped tenant identifiers", "show the multi-tenant assignments".

algolia_search.assign_user_id

Assign or move a user id between Algolia clusters: put a tenant's records on a server group, or migrate them to another one. Calls POST /1/clusters/mapping.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/clusters/mapping.

Arguments:

ArgumentTypeRequiredNotes
X_Algolia_User_IDstringyesUnique identifier of the user who makes the search request.
clusterstringyesCluster name.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
createdAtstringDate and time when the object was created, in RFC 3339 format.

Also retrieved by: "place a tenant on a server group", "migrate a tenant to another group", "assign multi-tenant storage".

algolia_search.batch_assign_user_ids

Assign multiple user ids to an Algolia cluster at once: place a batch of tenants on one server group. Calls POST /1/clusters/mapping/batch.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/clusters/mapping/batch.

Arguments:

ArgumentTypeRequiredNotes
X_Algolia_User_IDstringyesUnique identifier of the user who makes the search request.
clusterstringyesCluster name.
usersarray of stringyesUser IDs to assign.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
createdAtstringDate and time when the object was created, in RFC 3339 format.

Also retrieved by: "place many tenants on one server group", "bulk assign multi-tenant storage", "migrate a batch of tenants".

algolia_search.has_pending_mappings

Check whether an Algolia cluster mapping change is still running: whether a large batch of tenants is done being created or migrated. Calls GET /1/clusters/mapping/pending.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/clusters/mapping/pending.

Arguments:

ArgumentTypeRequiredNotes
getClustersbooleannoWhether to include the cluster's pending mapping state in the response.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
clustersobjectCluster pending mapping state: migrating, creating, deleting.
pendingbooleanWhether there are clusters undergoing migration, creation, or deletion.

Also retrieved by: "is the tenant migration still running", "did the bulk tenant change finish", "status of a multi-tenant migration".

algolia_search.search_user_ids

Search the user ids mapped to Algolia clusters: find tenants of a multi-cluster application by id or by the cluster they sit on. Results lag by a few seconds. Calls POST /1/clusters/mapping/search.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/clusters/mapping/search.

Arguments:

ArgumentTypeRequiredNotes
clusterNamestringnoCluster name.
hitsPerPageintegernoNumber of hits per page. Defaults to 20.
pageintegernoPage of search results to retrieve. Defaults to 0.
querystringyes

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
hitsarray of objectUser objects that match the query.
hits[]._highlightResultobject
hits[].clusterNamestringCluster name.
hits[].dataSizeintegerData size taken by all the users assigned to the cluster.
hits[].nbRecordsintegerNumber of records in the cluster.
hits[].objectIDstringuserID of the requested user. Same as userID.
hits[].userIDstringUnique identifier of the user who makes the search request.
hitsPerPageintegerMaximum number of hits per page. Algolia uses page and hitsPerPage to control how search results are displayed... Defaults to 20.
nbHitsintegerNumber of results (hits).
pageintegerPage of search results to retrieve. Defaults to 0.
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "find a tenant by identifier", "which tenants are on this server group", "look up multi-tenant assignments".

algolia_search.get_top_user_ids

List the busiest user ids per Algolia cluster: the ten tenants holding the most records on each server group. Calls GET /1/clusters/mapping/top.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/clusters/mapping/top.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
topUsersarray of objectKey-value pairs with cluster names as keys and lists of users with the highest number of records per cluster as values.

Also retrieved by: "which tenants hold the most records", "busiest tenants per server group", "largest multi-tenant occupants".

algolia_search.get_user_id

Retrieve a user id from Algolia's cluster mapping: which server group a tenant's records live on, and how many they hold. Calls GET /1/clusters/mapping/{userID}.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/clusters/mapping/{{params.userID}}.

Arguments:

ArgumentTypeRequiredNotes
userIDstringyesUnique identifier of the user who makes the search request.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
clusterNamestringCluster to which the user is assigned.
dataSizeintegerData size used by the user.
nbRecordsintegerNumber of records belonging to the user.
userIDstringUnique identifier of the user who makes the search request.

Also retrieved by: "which server group holds this tenant", "read one tenant's assignment", "how many records does this tenant hold".

algolia_search.remove_user_id

Delete a user id from Algolia's cluster mapping: remove a tenant and their records from the multi-cluster application. Calls DELETE /1/clusters/mapping/{userID}.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /1/clusters/mapping/{{params.userID}}.

Arguments:

ArgumentTypeRequiredNotes
userIDstringyesUnique identifier of the user who makes the search request.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedAtstringDate and time when the object was deleted, in RFC 3339 format.

Also retrieved by: "remove a tenant from the multi-tenant setup", "delete a tenant and their records", "unassign a tenant from its server group".

algolia_search.get_dictionary_languages

List the languages Algolia dictionaries support: which languages have stop word, plural, and segmentation entries, and how many custom ones you added. Calls GET /1/dictionaries/*/languages.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/dictionaries/*/languages.

Takes no arguments.

Also retrieved by: "which languages have stop word support", "list dictionary language coverage", "how many custom word entries per language".

algolia_search.get_dictionary_settings

Read the Algolia dictionary settings: which languages have the built-in stop word list turned off for this application. Calls GET /1/dictionaries/*/settings.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/dictionaries/*/settings.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
disableStandardEntriesobjectKey-value pairs of supported language ISO codes and boolean...
disableStandardEntries.compoundsobjectKey-value pair of a language ISO code and a boolean value.
disableStandardEntries.pluralsobjectKey-value pair of a language ISO code and a boolean value.
disableStandardEntries.stopwordsobjectKey-value pair of a language ISO code and a boolean value.

Also retrieved by: "is the built-in stop word list on", "read the stop word configuration", "which languages have stop words disabled".

algolia_search.set_dictionary_settings

Change the Algolia dictionary settings: turn the built-in stop word list on or off for a language. Calls PUT /1/dictionaries/*/settings.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls PUT /1/dictionaries/*/settings.

Arguments:

ArgumentTypeRequiredNotes
disableStandardEntriesobjectyesKey-value pairs of supported language ISO codes and boolean...
disableStandardEntries.compoundsobjectnoKey-value pair of a language ISO code and a boolean value.
disableStandardEntries.pluralsobjectnoKey-value pair of a language ISO code and a boolean value.
disableStandardEntries.stopwordsobjectnoKey-value pair of a language ISO code and a boolean value.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "turn the built-in stop word list on or off", "disable stop words for a language", "change the stop word configuration".

algolia_search.batch_dictionary_entries

Add or remove custom Algolia dictionary entries: edit your own stop word, plural, or segmentation words in one batch. Calls POST /1/dictionaries/{dictionaryName}/batch.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/dictionaries/{{params.dictionaryName}}/batch.

Arguments:

ArgumentTypeRequiredNotes
clearExistingDictionaryEntriesbooleannoWhether to replace all custom entries in the dictionary with the ones sent with this request. Defaults to false.
dictionaryNamestring, one of plurals, stopwords, compoundsyesDictionary type in which to search.
requestsarray of objectyesList of additions and deletions to your dictionaries.
requests[].actionstring, one of addEntry, deleteEntryyesActions to perform.
requests[].bodyobjectyesDictionary entry.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "add custom stop words or plurals", "remove my own dictionary words", "edit plural and segmentation entries".

algolia_search.search_dictionary_entries

Search Algolia dictionary entries: look through the built-in and custom stop word, plural, and segmentation words. Calls POST /1/dictionaries/{dictionaryName}/search.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/dictionaries/{{params.dictionaryName}}/search.

Arguments:

ArgumentTypeRequiredNotes
dictionaryNamestring, one of plurals, stopwords, compoundsyesDictionary type in which to search.
hitsPerPageintegernoNumber of hits per page. Defaults to 20.
languagestring, one of af, ar, az, bg, bn, ca, cs, cy, da, de, el, en, eo, es, et, eu, fa, fi, fo, fr, ga, gl, he, hi, hunoISO code for a supported language.
pageintegernoPage of search results to retrieve. Defaults to 0.
querystringyesSearch query. Defaults to .

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
hitsarray of objectDictionary entries matching the search criteria.
hits[].decompositionarrayInvividual components of a compound word in the compounds dictionary.
hits[].languagestring, one of af, ar, az, bg, bn, ca, cs, cy, da, de, el, en, eo, es, et, eu, fa, fi, fo, fr, ga, gl, he, hi, huISO code for a supported language.
hits[].objectIDstringUnique identifier for the dictionary entry.
hits[].statestring, one of enabled, disabledWhether a dictionary entry is active. Defaults to enabled.
hits[].typestring, one of custom, standardWhether a dictionary entry is provided by Algolia (standard), or has been added by you (custom).
hits[].wordstringMatching dictionary word for stopwords and compounds dictionaries.
hits[].wordsarrayMatching words in the plurals dictionary including declensions.
nbHitsintegerNumber of results (hits).
nbPagesintegerNumber of pages of results.
pageintegerRequested page of the API response. Algolia uses page and hitsPerPage to control how search results are displayed...

Also retrieved by: "look through stop words and plurals", "find a dictionary word entry", "search the segmentation words".

algolia_search.list_indices

List the Algolia indexes in this application: every collection of records you can search, with its record count and size. Calls GET /1/indexes.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/indexes.

Arguments:

ArgumentTypeRequiredNotes
hitsPerPageintegernoNumber of hits per page. Defaults to 100.
pageintegernoRequested page of the API response. If null, the API response is not paginated.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
itemsarray of objectAll indices in your Algolia application.
items[].abTestobjectA/B test metadata. Only present if the index is part of an active A/B test.
items[].createdAtstringIndex creation date. An empty string means that the index has no records.
items[].dataSizeinteger (int64)Number of bytes of the index in minified format.
items[].entriesintegerNumber of records contained in the index.
items[].fileSizeinteger (int64)Number of bytes of the index binary file.
items[].lastBuildTimeSintegerLast build time.
items[].namestringIndex name.
items[].numberOfPendingTasksintegerNumber of pending indexing operations. This value is deprecated and should not be used. Defaults to 0.
items[].pendingTaskbooleanA boolean which says whether the index has pending tasks. This value is deprecated and should not be used. Defaults to false.
items[].primarystringOnly present if the index is a replica. Contains the name of the related primary index.
items[].replicasarrayOnly present if the index is a primary index with replicas. Contains the names of all linked replicas.
items[].sourceABTeststringName of the index that owns the A/B test configuration. Only present when this index participates in an A/B test configured on another index.
items[].updatedAtstringDate and time when the object was updated, in RFC 3339 format.
items[].virtualbooleanOnly present if the index is a virtual replica.
nbPagesintegerNumber of pages.

Also retrieved by: "show every collection in this application", "what indexes exist here", "list the searchable collections".

algolia_search.multiple_batch

Write Algolia records across several indexes in a single request: add, update, or remove documents in more than one collection as one batch. Calls POST /1/indexes/*/batch.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/*/batch.

Arguments:

ArgumentTypeRequiredNotes
requestsarray of objectyes
requests[].actionstring, one of addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clearyesWhich indexing operation to perform: - addObject: adds records to an index. Equivalent to the "Add a new record (with auto-generated object ID)" operation. - updateObject: adds or replaces...
requests[].bodyobjectnoOperation arguments (varies with specified action).
requests[].indexNamestringyesIndex name (case-sensitive).

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
objectIDsarray of stringUnique record identifiers.
taskIDobjectTask IDs. One for each index.

Also retrieved by: "bulk write across several collections", "one batch spanning multiple indexes", "update records in more than one index".

algolia_search.get_objects

Retrieve records from Algolia by object id: fetch several stored documents by their ids, from one collection or from different ones, in a single request. Calls POST /1/indexes/*/objects.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/*/objects.

Arguments:

ArgumentTypeRequiredNotes
requestsarray of objectyes
requests[].attributesToRetrievearraynoAttributes to retrieve. If not specified, all retrievable attributes are returned.
requests[].indexNamestringyesIndex from which to retrieve the records.
requests[].objectIDstringyesObject ID for the record to retrieve.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
messagestringAn optional status message.
resultsarray of objectRetrieved records.

Also retrieved by: "fetch several documents by their ids", "read specific records in one call", "batch lookup by primary key".

Run several Algolia queries in one request: look things up across one or more indexes at once (federated search over several collections) and get each query's hits back together. Calls POST /1/indexes/*/queries.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/*/queries.

Arguments:

ArgumentTypeRequiredNotes
requestsarray of objectyes
requests[].extensionsobjectnoAdditional parameters for Algolia AI features. Used to enable Query Categorization and other AI-powered capabilities.
requests[].indexNamestringyesIndex name (case-sensitive).
requests[].paramsstringnoSearch parameters as a URL-encoded query string. Defaults to .
requests[].typestring, one of defaultno- default: perform a search query - facet searches for facet values. Defaults to default.
strategystring, one of none, stopIfEnoughMatchesnoStrategy for multiple search queries: - none. Run all queries. - stopIfEnoughMatches. Run the queries one by one, stopping as soon as a query matches at least the hitsPerPage number of results.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
resultsarray of object
results[]._automaticInsightsbooleanWhether automatic events collection is enabled for the application.
results[].abTestIDintegerA/B test ID. This is only included in the response for indices that are part of an A/B test.
results[].abTestVariantIDintegerVariant ID. This is only included in the response for indices that are part of an A/B test.
results[].appliedRulesarrayRules applied to the query.
results[].aroundLatLngstringComputed geographical location.
results[].automaticRadiusstringDistance from a central coordinate provided by aroundLatLng.
results[].exhaustiveobjectWhether certain properties of the search response are calculated exhaustive (exact) or approximated.
results[].exhaustiveFacetsCountbooleanSee the facetsCount field of the exhaustive object in the response.
results[].exhaustiveNbHitsbooleanSee the nbHits field of the exhaustive object in the response.
results[].exhaustiveTypobooleanSee the typo field of the exhaustive object in the response.
results[].extensionsobjectAI-generated metadata returned alongside search results. Present when Algolia AI features such as Query Categorization are...
results[].facetsobjectFacet counts.
results[].facets_statsobjectStatistics for numerical facets.
results[].hitsarraySearch results (hits). Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting.
results[].hitsPerPageintegerNumber of hits per page. Defaults to 20.
results[].indexstringIndex name used for the query.
results[].indexUsedstringIndex name used for the query. During A/B testing, the targeted index isn't always the index used by the query.
results[].messagestringWarnings about the query.
results[].nbHitsintegerNumber of results (hits).
results[].nbPagesintegerNumber of pages of results.
results[].nbSortedHitsintegerNumber of hits selected and sorted by the relevant sort algorithm.
results[].pageintegerPage of search results to retrieve. Defaults to 0.
results[].paramsstringURL-encoded string of all search parameters.
results[].parsedQuerystringPost-normalization query string that will be searched.
results[].processingTimeMSintegerTime the server took to process the request, in milliseconds.

Also retrieved by: "run several lookups in one request", "query more than one collection at once", "federated search across indexes".

algolia_search.delete_index

Delete an Algolia index entirely: wipe out a whole collection, every record in it, and its configuration. Calls DELETE /1/indexes/{indexName}.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /1/indexes/{{params.indexName}}.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesName of the index on which to perform the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedAtstringDate and time when the object was deleted, in RFC 3339 format.
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...

Also retrieved by: "wipe out a whole collection", "drop an index and everything in it", "remove a collection permanently".

algolia_search.batch

Write many Algolia records to one index in a single request: add, update, or remove documents in a collection as one batch of operations. Calls POST /1/indexes/{indexName}/batch.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/batch.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesName of the index on which to perform the operation.
requestsarray of objectyes
requests[].actionstring, one of addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clearyesWhich indexing operation to perform: - addObject: adds records to an index. Equivalent to the "Add a new record (with auto-generated object ID)" operation. - updateObject: adds or replaces...
requests[].bodyobjectyesOperation arguments (varies with specified action).

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
objectIDsarray of stringUnique record identifiers.
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...

Also retrieved by: "bulk write documents into one collection", "add update or remove records together", "send a batch of index operations".

algolia_search.browse

Page through every record in an Algolia index: walk a whole collection in batches of up to 1,000 for exports and bulk reads, rather than ranked search. Calls POST /1/indexes/{indexName}/browse.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/browse.

Arguments:

ArgumentTypeRequiredNotes
advancedSyntaxbooleannoWhether to support phrase matching and excluding words from search queries Use the advancedSyntaxFeatures parameter to control which feature is supported. Defaults to false.
advancedSyntaxFeaturesarray of stringnoAdvanced search syntax features you want to support - exactPhrase. Phrases in quotes must match exactly. For example, sparkly blue "iPhone case" only returns records with the exact string "iPhone... Defaults to [exactPhrase excludeWords].
allowTyposOnNumericTokensbooleannoWhether to allow typos on numbers in the search query Turn off this setting to reduce the number of irrelevant matches when searching in large sets of similar numbers. Defaults to true.
alternativesAsExactarray of stringnoDetermine which plurals and synonyms should be considered an exact matches By default, Algolia treats singular and plural forms of a word, and single-word synonyms, as... Defaults to [ignorePlurals singleWordSynonym].
analyticsbooleannoWhether this search will be included in Analytics. Defaults to true.
analyticsTagsarray of stringnoTags to apply to the query for segmenting analytics data. Defaults to [].
aroundLatLngstringnoCoordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude. Only records included within a circle around this central location are included in the... Defaults to .
aroundLatLngViaIPbooleannoWhether to obtain the coordinates from the request's IP address. Defaults to false.
aroundPrecisionintegernoPrecision of a coordinate-based search in meters to group results with similar distances. The Geo ranking criterion considers all matches within the same range of distances to be equal. Defaults to 10.
aroundRadiusintegernoMaximum radius for a search around a central location. This parameter works in combination with the aroundLatLng and aroundLatLngViaIP parameters. By default, the search radius is determined...
attributeCriteriaComputedByMinProximitybooleannoWhether the best matching attribute should be determined by minimum proximity This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the ranking setting. If... Defaults to false.
attributesToHighlightarray of stringnoAttributes to highlight By default, all searchable attributes are highlighted. Use * to highlight all attributes or use an empty array [] to turn off highlighting. Attribute names are...
attributesToRetrievearray of stringnoAttributes to include in the API response To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive - * retrieves all attributes, except... Defaults to [*].
attributesToSnippetarray of stringnoAttributes for which to enable snippets. Attribute names are case-sensitive Snippets provide additional context to matched words. If you enable snippets, they include 10 words, including the matched... Defaults to [].
clickAnalyticsbooleannoWhether to include a queryID attribute in the response The query ID is a unique identifier for a search query and is required for tracking [click and conversion... Defaults to false.
cursorstringnoCursor to get the next page of the response. The parameter must match the value returned in the response of a previous request. The last page of the response does not return a cursor attribute.
decompoundQuerybooleannoWhether to split compound words in the query into their building blocks For more information, see [Word... Defaults to true.
disableExactOnAttributesarray of stringnoSearchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/... Defaults to [].
disableTypoToleranceOnAttributesarray of stringnoAttributes for which you want to turn off typo tolerance. Attribute names are case-sensitive Returning... Defaults to [].
distinctbooleannoDetermines how many records of a group are included in the search results. Records with the same value for the attributeForDistinct attribute are considered a group. The distinct setting controls...
enableABTestbooleannoWhether to enable A/B testing for this search. Defaults to true.
enablePersonalizationbooleannoWhether to enable Personalization. Defaults to false.
enableReRankingbooleannoWhether this search will use Dynamic Re-Ranking This setting only has an effect if you activated Dynamic Re-Ranking for this index in the... Defaults to true.
enableRulesbooleannoWhether to enable rules. Defaults to true.
exactOnSingleWordQuerystring, one of attribute, none, wordnoDetermines how the [Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-... Defaults to attribute.
indexNamestringyesName of the index on which to perform the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
_automaticInsightsbooleanWhether automatic events collection is enabled for the application.
abTestIDintegerA/B test ID. This is only included in the response for indices that are part of an A/B test.
abTestVariantIDintegerVariant ID. This is only included in the response for indices that are part of an A/B test.
appliedRulesarray of objectRules applied to the query.
aroundLatLngstringComputed geographical location.
automaticRadiusstringDistance from a central coordinate provided by aroundLatLng.
cursorstringCursor to get the next page of the response. The parameter must match the value returned in the response of a previous request. The last page of the response does not return a cursor attribute.
exhaustiveobjectWhether certain properties of the search response are calculated exhaustive (exact) or approximated.
exhaustive.facetValuesbooleanThe value is false if not all facet values are retrieved.
exhaustive.facetsCountbooleanWhether the facet count is exhaustive (true) or approximate (false). See the [related discussion](https://support.algolia.com/hc/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate...
exhaustive.nbHitsbooleanWhether the nbHits is exhaustive (true) or approximate (false). When the query takes more than 50ms to be processed, the engine makes an approximation. This can happen when using complex...
exhaustive.rulesMatchbooleanRules matching exhaustivity. The value is false if rules were enable for this query, and could not be fully processed due a timeout. This is generally caused by the number of alternatives (such as...
exhaustive.typobooleanWhether the typo search was exhaustive (true) or approximate (false). An approximation is done when the typo search query part takes more than 10% of the query budget (ie. 5ms by default) to be...
exhaustiveFacetsCountbooleanSee the facetsCount field of the exhaustive object in the response.
exhaustiveNbHitsbooleanSee the nbHits field of the exhaustive object in the response.
exhaustiveTypobooleanSee the typo field of the exhaustive object in the response.
extensionsobjectAI-generated metadata returned alongside search results. Present when Algolia AI features such as Query Categorization are...
extensions.queryCategorizationobjectQuery Categorization prediction returned by the AI model. This field is empty when the model cannot categorize the query. See [Query...
facetsobjectFacet counts.
facets_statsobjectStatistics for numerical facets.
hitsarray of objectSearch results (hits). Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting.
hits[]._distinctSeqIDinteger
hits[]._highlightResultobjectSurround words that match the query with HTML tags for highlighting.
hits[]._rankingInfoobjectObject with detailed information about the record's ranking.
hits[]._snippetResultobjectSnippets that show the context around a matching search query.
hits[].objectIDstringUnique record identifier.
hitsPerPageintegerNumber of hits per page. Defaults to 20.
indexstringIndex name used for the query.
indexUsedstringIndex name used for the query. During A/B testing, the targeted index isn't always the index used by the query.
messagestringWarnings about the query.
nbHitsintegerNumber of results (hits).
nbPagesintegerNumber of pages of results.
nbSortedHitsintegerNumber of hits selected and sorted by the relevant sort algorithm.
pageintegerPage of search results to retrieve. Defaults to 0.
paramsstringURL-encoded string of all search parameters.
parsedQuerystringPost-normalization query string that will be searched.

Also retrieved by: "page through every document in a collection", "export all records in bulk", "walk a whole index batch by batch".

algolia_search.clear_objects

Delete all records from an Algolia index but keep the index: empty a collection while its configuration, synonyms, and rules stay in place. Calls POST /1/indexes/{indexName}/clear.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/clear.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesName of the index on which to perform the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "empty a collection but keep its configuration", "remove all documents and leave the setup", "truncate an index".

algolia_search.delete_by

Delete every Algolia record matching a filter: remove the documents a filter or facet condition selects instead of naming ids one at a time. Calls POST /1/indexes/{indexName}/deleteByQuery.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/deleteByQuery.

Arguments:

ArgumentTypeRequiredNotes
aroundLatLngstringnoCoordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude. Only records included within a circle around this central location are included in the... Defaults to .
aroundRadiusintegernoMaximum radius for a search around a central location. This parameter works in combination with the aroundLatLng and aroundLatLngViaIP parameters. By default, the search radius is determined...
facetFiltersarray of objectnoFilter the search by facet values, so that only records with the same facet values are retrieved. **Prefer using the filters parameter, which supports all filter types and combinations with boolean...
filtersstringnoFilter expression to only include items that match the filter criteria in the response. You can use these filter expressions: - Numeric filters. <facet> <op> <number>, where <op> is one of...
indexNamestringyesName of the index on which to perform the operation.
insideBoundingBoxstringno
insidePolygonarray of arraynoCoordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more...
numericFiltersarray of objectnoFilter by numeric facets. Prefer using the filters parameter, which supports all filter types and combinations with boolean operators. You can use numeric comparison operators: <, <=, =...
tagFiltersarray of objectnoFilter the search by values of the special _tags attribute. Prefer using the filters parameter, which supports all filter types and combinations with boolean operators. Different from regular...

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "remove every document matching a filter", "bulk delete by facet condition", "drop records that match a query filter".

algolia_search.search_for_facet_values

Search the values of one Algolia facet attribute: type-ahead over a filter's possible values, such as brand or category names, so a UI can suggest them. Calls POST /1/indexes/{indexName}/facets/{facetName}/query.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/facets/{{params.facetName}}/query.

Arguments:

ArgumentTypeRequiredNotes
facetNamestringyesFacet attribute in which to search for values. This attribute must be included in the attributesForFaceting index setting with the searchable() modifier.
facetQuerystringnoText to search inside the facet's values. Defaults to .
indexNamestringyesName of the index on which to perform the operation.
maxFacetHitsintegernoMaximum number of facet values to return when searching for facet values. Defaults to 10.
paramsstringnoSearch parameters as a URL-encoded query string. Defaults to .

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
exhaustiveFacetsCountbooleanWhether the facet count is exhaustive (true) or approximate (false). For more information, see [Why are my facet and hit counts not...
facetHitsarray of objectMatching facet values.
facetHits[].countintegerNumber of records with this facet value. The count may be approximated.
facetHits[].highlightedstringHighlighted attribute value, including HTML tags.
facetHits[].valuestringFacet value.
processingTimeMSintegerTime the server took to process the request, in milliseconds.

Also retrieved by: "suggest values for a filter attribute", "type-ahead over category or brand names", "which values does this facet have".

algolia_search.operation_index

Copy or rename an Algolia index: duplicate or move a collection, with its records, configuration, synonyms, and rules, inside the same application. Calls POST /1/indexes/{indexName}/operation.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/operation.

Arguments:

ArgumentTypeRequiredNotes
destinationstringyesIndex name (case-sensitive).
indexNamestringyesName of the index on which to perform the operation.
operationstring, one of move, copyyesOperation to perform on the index.
scopearray of stringnoOnly for copying. If you specify a scope, only the selected scopes are copied. Records and the other scopes are left unchanged. If you omit the scope parameter, everything is copied: records...

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "copy a collection to a new name", "rename or duplicate an index", "move a collection within the application".

algolia_search.search_single_index

Search one Algolia index: run a full-text query against a single collection of records and get the matching hits back ranked, with highlighting, facets, and pagination. Calls POST /1/indexes/{indexName}/query.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/query.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesName of the index on which to perform the operation.
paramsstringnoSearch parameters as a URL-encoded query string. Defaults to .

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
_automaticInsightsbooleanWhether automatic events collection is enabled for the application.
abTestIDintegerA/B test ID. This is only included in the response for indices that are part of an A/B test.
abTestVariantIDintegerVariant ID. This is only included in the response for indices that are part of an A/B test.
appliedRulesarray of objectRules applied to the query.
aroundLatLngstringComputed geographical location.
automaticRadiusstringDistance from a central coordinate provided by aroundLatLng.
exhaustiveobjectWhether certain properties of the search response are calculated exhaustive (exact) or approximated.
exhaustive.facetValuesbooleanThe value is false if not all facet values are retrieved.
exhaustive.facetsCountbooleanWhether the facet count is exhaustive (true) or approximate (false). See the [related discussion](https://support.algolia.com/hc/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate...
exhaustive.nbHitsbooleanWhether the nbHits is exhaustive (true) or approximate (false). When the query takes more than 50ms to be processed, the engine makes an approximation. This can happen when using complex...
exhaustive.rulesMatchbooleanRules matching exhaustivity. The value is false if rules were enable for this query, and could not be fully processed due a timeout. This is generally caused by the number of alternatives (such as...
exhaustive.typobooleanWhether the typo search was exhaustive (true) or approximate (false). An approximation is done when the typo search query part takes more than 10% of the query budget (ie. 5ms by default) to be...
exhaustiveFacetsCountbooleanSee the facetsCount field of the exhaustive object in the response.
exhaustiveNbHitsbooleanSee the nbHits field of the exhaustive object in the response.
exhaustiveTypobooleanSee the typo field of the exhaustive object in the response.
extensionsobjectAI-generated metadata returned alongside search results. Present when Algolia AI features such as Query Categorization are...
extensions.queryCategorizationobjectQuery Categorization prediction returned by the AI model. This field is empty when the model cannot categorize the query. See [Query...
facetsobjectFacet counts.
facets_statsobjectStatistics for numerical facets.
hitsarray of objectSearch results (hits). Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting.
hits[]._distinctSeqIDinteger
hits[]._highlightResultobjectSurround words that match the query with HTML tags for highlighting.
hits[]._rankingInfoobjectObject with detailed information about the record's ranking.
hits[]._snippetResultobjectSnippets that show the context around a matching search query.
hits[].objectIDstringUnique record identifier.
hitsPerPageintegerNumber of hits per page. Defaults to 20.
indexstringIndex name used for the query.
indexUsedstringIndex name used for the query. During A/B testing, the targeted index isn't always the index used by the query.
messagestringWarnings about the query.
nbHitsintegerNumber of results (hits).
nbPagesintegerNumber of pages of results.
nbSortedHitsintegerNumber of hits selected and sorted by the relevant sort algorithm.
pageintegerPage of search results to retrieve. Defaults to 0.
paramsstringURL-encoded string of all search parameters.
parsedQuerystringPost-normalization query string that will be searched.
processingTimeMSintegerTime the server took to process the request, in milliseconds.

Also retrieved by: "look up matching results in one collection", "full-text query against a single index", "find documents that match a keyword".

algolia_search.clear_rules

Delete every Algolia rule on an index: drop all merchandising overrides from a collection at once. Calls POST /1/indexes/{indexName}/rules/clear.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/rules/clear.

Arguments:

ArgumentTypeRequiredNotes
forwardToReplicasbooleannoWhether changes are applied to replica indices.
indexNamestringyesName of the index on which to perform the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "remove every merchandising override", "drop all query overrides at once", "wipe the rules on a collection".

algolia_search.search_rules

Search the Algolia rules on an index: find merchandising overrides by their query condition or context. Calls POST /1/indexes/{indexName}/rules/search.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/rules/search.

Arguments:

ArgumentTypeRequiredNotes
anchoringstring, one of is, startsWith, endsWith, containsnoWhich part of the search query the pattern should match: - startsWith. The pattern must match the beginning of the query. - endsWith. The pattern must match the end of the query. - is. The...
contextstringnoOnly return rules that match the context (exact match).
enabledbooleannoIf true, return only enabled rules. If false, return only inactive rules. By default, _all_ rules are returned.
hitsPerPageintegernoMaximum number of hits per page. Algolia uses page and hitsPerPage to control how search results are displayed... Defaults to 20.
indexNamestringyesName of the index on which to perform the operation.
pageintegernoRequested page of the API response. Algolia uses page and hitsPerPage to control how search results are displayed...
querystringnoSearch query for rules. Defaults to .

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
hitsarray of objectRules that matched the search criteria.
hits[].conditionobject
hits[].conditionsarrayConditions that trigger a rule. Some consequences require specific conditions or don't require any condition. For more information, see...
hits[].consequenceobjectEffect of the rule. For more information, see Consequences.
hits[].descriptionstringDescription of the rule's purpose to help you distinguish between different rules.
hits[].enabledbooleanWhether the rule is active. Defaults to true.
hits[].objectIDstringUnique identifier of a rule object.
hits[].scopestring
hits[].tagsarray
hits[].validityarrayTime periods when the rule is active.
nbHitsintegerNumber of rules that matched the search criteria.
nbPagesintegerNumber of pages.
pageintegerCurrent page.

Also retrieved by: "find merchandising overrides by condition", "list the query overrides on a collection", "look through saved rules".

algolia_search.get_rule

Retrieve a rule from an Algolia index: read the merchandising override stored under an id, its condition and what it changes. Calls GET /1/indexes/{indexName}/rules/{objectID}.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/indexes/{{params.indexName}}/rules/{{params.objectID}}.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesName of the index on which to perform the operation.
objectIDstringyesUnique identifier of a rule object.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
conditionobject
condition.alternativesbooleanWhether the pattern should match plurals, synonyms, and typos. Defaults to false.
condition.anchoringstring, one of is, startsWith, endsWith, containsWhich part of the search query the pattern should match: - startsWith. The pattern must match the beginning of the query. - endsWith. The pattern must match the end of the query. - is. The...
condition.contextstringAn additional restriction that only triggers the rule, when the search has the same value as ruleContexts parameter. For example, if context: mobile, the rule is only triggered when the search...
condition.filtersstringFilters that trigger the rule. You can add filters using the syntax facet:value so that the rule is triggered, when the specific filter is selected. You can use filters on its own or combine it...
condition.patternstringQuery pattern that triggers the rule. You can use either a literal string, or a special pattern {facet:ATTRIBUTE}, where ATTRIBUTE is a facet name. The rule is triggered if the query matches the...
conditionsarray of objectConditions that trigger a rule. Some consequences require specific conditions or don't require any condition. For more information, see...
conditions[].alternativesbooleanWhether the pattern should match plurals, synonyms, and typos. Defaults to false.
conditions[].anchoringstring, one of is, startsWith, endsWith, containsWhich part of the search query the pattern should match: - startsWith. The pattern must match the beginning of the query. - endsWith. The pattern must match the end of the query. - is. The...
conditions[].contextstringAn additional restriction that only triggers the rule, when the search has the same value as ruleContexts parameter. For example, if context: mobile, the rule is only triggered when the search...
conditions[].filtersstringFilters that trigger the rule. You can add filters using the syntax facet:value so that the rule is triggered, when the specific filter is selected. You can use filters on its own or combine it...
conditions[].patternstringQuery pattern that triggers the rule. You can use either a literal string, or a special pattern {facet:ATTRIBUTE}, where ATTRIBUTE is a facet name. The rule is triggered if the query matches the...
consequenceobjectEffect of the rule. For more information, see Consequences.
consequence.filterPromotesbooleanDetermines whether promoted records must also match active filters for the consequence to apply. This ensures user-applied filters take priority and irrelevant matches aren't shown. For example, if... Defaults to false.
consequence.hidearrayRecords you want to hide from the search results.
consequence.paramsobjectParameters to apply to this search. You can use all search parameters, plus special automaticFacetFilters, automaticOptionalFacetFilters, and query.
consequence.promotearrayRecords you want to pin to a specific position in the search results. You can promote up to 300 records, either individually, or as groups of up to 100 records each.
consequence.redirectobjectRedirect to a virtual replica index. This consequence is only valid for rules with scope: redirect.
consequence.userDataobjectA JSON object with custom data that will be appended to the userData array in the response. This object isn't interpreted by the API and is limited to 1&nbsp;kB of minified JSON.
descriptionstringDescription of the rule's purpose to help you distinguish between different rules.
enabledbooleanWhether the rule is active. Defaults to true.
objectIDstringUnique identifier of a rule object.
scopestring
tagsarray of string
validityarray of objectTime periods when the rule is active.
validity[].frominteger (int64)Timestamp when the rule should start to be active, measured in seconds since the Unix epoch.
validity[].untilinteger (int64)Timestamp when the rule should stop to be active, measured in seconds since the Unix epoch.

Also retrieved by: "read one merchandising override", "show a stored rule by id", "what does this override change".

algolia_search.save_rule

Create or replace an Algolia rule: a merchandising override that reshapes results for a query, pinning, boosting, hiding, or filtering hits when a condition matches. Calls PUT /1/indexes/{indexName}/rules/{objectID}.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls PUT /1/indexes/{{params.indexName}}/rules/{{params.objectID}}.

Arguments:

ArgumentTypeRequiredNotes
body_objectIDstringyesUnique identifier of a rule object.
conditionobjectno
condition.alternativesbooleannoWhether the pattern should match plurals, synonyms, and typos. Defaults to false.
condition.anchoringstring, one of is, startsWith, endsWith, containsnoWhich part of the search query the pattern should match: - startsWith. The pattern must match the beginning of the query. - endsWith. The pattern must match the end of the query. - is. The...
condition.contextstringnoAn additional restriction that only triggers the rule, when the search has the same value as ruleContexts parameter. For example, if context: mobile, the rule is only triggered when the search...
condition.filtersstringnoFilters that trigger the rule. You can add filters using the syntax facet:value so that the rule is triggered, when the specific filter is selected. You can use filters on its own or combine it...
condition.patternstringnoQuery pattern that triggers the rule. You can use either a literal string, or a special pattern {facet:ATTRIBUTE}, where ATTRIBUTE is a facet name. The rule is triggered if the query matches the...
conditionsarray of objectnoConditions that trigger a rule. Some consequences require specific conditions or don't require any condition. For more information, see...
conditions[].alternativesbooleannoWhether the pattern should match plurals, synonyms, and typos. Defaults to false.
conditions[].anchoringstring, one of is, startsWith, endsWith, containsnoWhich part of the search query the pattern should match: - startsWith. The pattern must match the beginning of the query. - endsWith. The pattern must match the end of the query. - is. The...
conditions[].contextstringnoAn additional restriction that only triggers the rule, when the search has the same value as ruleContexts parameter. For example, if context: mobile, the rule is only triggered when the search...
conditions[].filtersstringnoFilters that trigger the rule. You can add filters using the syntax facet:value so that the rule is triggered, when the specific filter is selected. You can use filters on its own or combine it...
conditions[].patternstringnoQuery pattern that triggers the rule. You can use either a literal string, or a special pattern {facet:ATTRIBUTE}, where ATTRIBUTE is a facet name. The rule is triggered if the query matches the...
consequenceobjectyesEffect of the rule. For more information, see Consequences.
consequence.filterPromotesbooleannoDetermines whether promoted records must also match active filters for the consequence to apply. This ensures user-applied filters take priority and irrelevant matches aren't shown. For example, if... Defaults to false.
consequence.hidearraynoRecords you want to hide from the search results.
consequence.paramsobjectnoParameters to apply to this search. You can use all search parameters, plus special automaticFacetFilters, automaticOptionalFacetFilters, and query.
consequence.promotearraynoRecords you want to pin to a specific position in the search results. You can promote up to 300 records, either individually, or as groups of up to 100 records each.
consequence.redirectobjectnoRedirect to a virtual replica index. This consequence is only valid for rules with scope: redirect.
consequence.userDataobjectnoA JSON object with custom data that will be appended to the userData array in the response. This object isn't interpreted by the API and is limited to 1&nbsp;kB of minified JSON.
descriptionstringnoDescription of the rule's purpose to help you distinguish between different rules.
enabledbooleannoWhether the rule is active. Defaults to true.
forwardToReplicasbooleannoWhether changes are applied to replica indices.
indexNamestringyesName of the index on which to perform the operation.
objectIDstringyesUnique identifier of a rule object.
scopestringno
tagsarray of stringno
validityarray of objectnoTime periods when the rule is active.
validity[].frominteger (int64)noTimestamp when the rule should start to be active, measured in seconds since the Unix epoch.
validity[].untilinteger (int64)noTimestamp when the rule should stop to be active, measured in seconds since the Unix epoch.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "create a merchandising override for a query", "pin or boost hits when a condition matches", "reshape results for a specific search term".

algolia_search.delete_rule

Delete one Algolia rule by its id: drop a merchandising override from a collection. Calls DELETE /1/indexes/{indexName}/rules/{objectID}.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /1/indexes/{{params.indexName}}/rules/{{params.objectID}}.

Arguments:

ArgumentTypeRequiredNotes
forwardToReplicasbooleannoWhether changes are applied to replica indices.
indexNamestringyesName of the index on which to perform the operation.
objectIDstringyesUnique identifier of a rule object.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "remove one merchandising override", "drop a stored rule by id", "delete a query override".

algolia_search.get_settings

Read how one Algolia index is configured: the ranking, searchable attributes, faceting, typo tolerance, and pagination that decide how a collection's results come back. Calls GET /1/indexes/{indexName}/settings.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/indexes/{{params.indexName}}/settings.

Arguments:

ArgumentTypeRequiredNotes
getVersionintegernoWhen set to 2, the endpoint will not include synonyms in the response. This parameter is here for backward compatibility. Defaults to 1.
indexNamestringyesName of the index on which to perform the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
advancedSyntaxbooleanWhether to support phrase matching and excluding words from search queries Use the advancedSyntaxFeatures parameter to control which feature is supported. Defaults to false.
advancedSyntaxFeaturesarray of stringAdvanced search syntax features you want to support - exactPhrase. Phrases in quotes must match exactly. For example, sparkly blue "iPhone case" only returns records with the exact string "iPhone... Defaults to [exactPhrase excludeWords].
allowCompressionOfIntegerArraybooleanWhether arrays with exclusively non-negative integers should be compressed for better performance. If true, the compressed arrays may be reordered. Defaults to false.
allowTyposOnNumericTokensbooleanWhether to allow typos on numbers in the search query Turn off this setting to reduce the number of irrelevant matches when searching in large sets of similar numbers. Defaults to true.
alternativesAsExactarray of stringDetermine which plurals and synonyms should be considered an exact matches By default, Algolia treats singular and plural forms of a word, and single-word synonyms, as... Defaults to [ignorePlurals singleWordSynonym].
attributeCriteriaComputedByMinProximitybooleanWhether the best matching attribute should be determined by minimum proximity This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the ranking setting. If... Defaults to false.
attributeForDistinctstringAttribute that should be used to establish groups of results. Attribute names are case-sensitive. All records with the same value for this attribute are considered a group. You can combine...
attributesForFacetingarray of stringAttributes used for faceting. Facets are attributes that let you categorize search results. They can be used for... Defaults to [].
attributesToHighlightarray of stringAttributes to highlight By default, all searchable attributes are highlighted. Use * to highlight all attributes or use an empty array [] to turn off highlighting. Attribute names are...
attributesToRetrievearray of stringAttributes to include in the API response To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive - * retrieves all attributes, except... Defaults to [*].
attributesToSnippetarray of stringAttributes for which to enable snippets. Attribute names are case-sensitive Snippets provide additional context to matched words. If you enable snippets, they include 10 words, including the matched... Defaults to [].
attributesToTransliteratearray of stringAttributes, for which you want to support [Japanese transliteration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specif...
camelCaseAttributesarray of stringAttributes for which to split camel case words. Attribute names are case-sensitive. Defaults to [].
customNormalizationobjectCharacters and their normalized replacements. This overrides Algolia's default [normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nl...
customRankingarray of stringAttributes to use as custom ranking. Attribute names are case-sensitive. The custom ranking attributes decide which items... Defaults to [].
decompoundQuerybooleanWhether to split compound words in the query into their building blocks For more information, see [Word... Defaults to true.
decompoundedAttributesobjectSearchable attributes to which Algolia should apply [word segmentation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-segm... Defaults to map[].
disableExactOnAttributesarray of stringSearchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/... Defaults to [].
disablePrefixOnAttributesarray of stringSearchable attributes for which you want to turn off [prefix matching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/#adjusting-prefix-sea... Defaults to [].
disableTypoToleranceOnAttributesarray of stringAttributes for which you want to turn off typo tolerance. Attribute names are case-sensitive Returning... Defaults to [].
disableTypoToleranceOnWordsarray of stringCreates a list of [words which require exact matches](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#turn-off-typo-tole... Defaults to [].
distinctbooleanDetermines how many records of a group are included in the search results. Records with the same value for the attributeForDistinct attribute are considered a group. The distinct setting controls...
enablePersonalizationbooleanWhether to enable Personalization. Defaults to false.
enableReRankingbooleanWhether this search will use Dynamic Re-Ranking This setting only has an effect if you activated Dynamic Re-Ranking for this index in the... Defaults to true.
enableRulesbooleanWhether to enable rules. Defaults to true.

Also retrieved by: "read how a collection is configured and ranked", "what are the searchable attributes here", "show the relevance configuration".

algolia_search.set_settings

Change how one Algolia index is configured and ranked: set its searchable attributes, ranking and custom ranking, faceting, and typo tolerance. Calls PUT /1/indexes/{indexName}/settings.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls PUT /1/indexes/{{params.indexName}}/settings.

Arguments:

ArgumentTypeRequiredNotes
advancedSyntaxbooleannoWhether to support phrase matching and excluding words from search queries Use the advancedSyntaxFeatures parameter to control which feature is supported. Defaults to false.
advancedSyntaxFeaturesarray of stringnoAdvanced search syntax features you want to support - exactPhrase. Phrases in quotes must match exactly. For example, sparkly blue "iPhone case" only returns records with the exact string "iPhone... Defaults to [exactPhrase excludeWords].
allowCompressionOfIntegerArraybooleannoWhether arrays with exclusively non-negative integers should be compressed for better performance. If true, the compressed arrays may be reordered. Defaults to false.
allowTyposOnNumericTokensbooleannoWhether to allow typos on numbers in the search query Turn off this setting to reduce the number of irrelevant matches when searching in large sets of similar numbers. Defaults to true.
alternativesAsExactarray of stringnoDetermine which plurals and synonyms should be considered an exact matches By default, Algolia treats singular and plural forms of a word, and single-word synonyms, as... Defaults to [ignorePlurals singleWordSynonym].
attributeCriteriaComputedByMinProximitybooleannoWhether the best matching attribute should be determined by minimum proximity This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the ranking setting. If... Defaults to false.
attributeForDistinctstringnoAttribute that should be used to establish groups of results. Attribute names are case-sensitive. All records with the same value for this attribute are considered a group. You can combine...
attributesForFacetingarray of stringnoAttributes used for faceting. Facets are attributes that let you categorize search results. They can be used for... Defaults to [].
attributesToHighlightarray of stringnoAttributes to highlight By default, all searchable attributes are highlighted. Use * to highlight all attributes or use an empty array [] to turn off highlighting. Attribute names are...
attributesToRetrievearray of stringnoAttributes to include in the API response To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive - * retrieves all attributes, except... Defaults to [*].
attributesToSnippetarray of stringnoAttributes for which to enable snippets. Attribute names are case-sensitive Snippets provide additional context to matched words. If you enable snippets, they include 10 words, including the matched... Defaults to [].
attributesToTransliteratearray of stringnoAttributes, for which you want to support [Japanese transliteration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specif...
camelCaseAttributesarray of stringnoAttributes for which to split camel case words. Attribute names are case-sensitive. Defaults to [].
customNormalizationobjectnoCharacters and their normalized replacements. This overrides Algolia's default [normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nl...
customRankingarray of stringnoAttributes to use as custom ranking. Attribute names are case-sensitive. The custom ranking attributes decide which items... Defaults to [].
decompoundQuerybooleannoWhether to split compound words in the query into their building blocks For more information, see [Word... Defaults to true.
decompoundedAttributesobjectnoSearchable attributes to which Algolia should apply [word segmentation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-segm... Defaults to map[].
disableExactOnAttributesarray of stringnoSearchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/... Defaults to [].
disablePrefixOnAttributesarray of stringnoSearchable attributes for which you want to turn off [prefix matching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/#adjusting-prefix-sea... Defaults to [].
disableTypoToleranceOnAttributesarray of stringnoAttributes for which you want to turn off typo tolerance. Attribute names are case-sensitive Returning... Defaults to [].
disableTypoToleranceOnWordsarray of stringnoCreates a list of [words which require exact matches](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#turn-off-typo-tole... Defaults to [].
distinctbooleannoDetermines how many records of a group are included in the search results. Records with the same value for the attributeForDistinct attribute are considered a group. The distinct setting controls...
enablePersonalizationbooleannoWhether to enable Personalization. Defaults to false.
enableReRankingbooleannoWhether this search will use Dynamic Re-Ranking This setting only has an effect if you activated Dynamic Re-Ranking for this index in the... Defaults to true.
enableRulesbooleannoWhether to enable rules. Defaults to true.
forwardToReplicasbooleannoWhether changes are applied to replica indices.
indexNamestringyesName of the index on which to perform the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "change how a collection ranks results", "configure searchable attributes and faceting", "tune typo tolerance and ranking".

algolia_search.clear_synonyms

Delete every Algolia synonym on an index: drop all equivalent-word mappings from a collection at once. Calls POST /1/indexes/{indexName}/synonyms/clear.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/synonyms/clear.

Arguments:

ArgumentTypeRequiredNotes
forwardToReplicasbooleannoWhether changes are applied to replica indices.
indexNamestringyesName of the index on which to perform the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "remove every equivalent-word mapping", "drop all word equivalences at once", "wipe the synonyms on a collection".

algolia_search.search_synonyms

Search the Algolia synonyms on an index: find equivalent-word mappings by term or by type. Calls POST /1/indexes/{indexName}/synonyms/search.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/indexes/{{params.indexName}}/synonyms/search.

Arguments:

ArgumentTypeRequiredNotes
hitsPerPageintegernoNumber of hits per page. Defaults to 20.
indexNamestringyesName of the index on which to perform the operation.
pageintegernoPage of search results to retrieve. Defaults to 0.
querystringnoSearch query. Defaults to .
typestring, one of synonym, onewaysynonym, altcorrection1, altcorrection2, placeholder, oneWaySynonym, altCorrection1, altCorrection2noSynonym type.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
hitsarray of objectMatching synonyms.
hits[].correctionsarrayWords to be matched in records.
hits[].inputstringWord or phrase to appear in query strings (for onewaysynonyms).
hits[].objectIDstringUnique identifier of a synonym object.
hits[].placeholderstringPlaceholder token to be put inside records.
hits[].replacementsarrayQuery words that will match the placeholder token.
hits[].synonymsarrayWords or phrases considered equivalent.
hits[].typestring, one of synonym, onewaysynonym, altcorrection1, altcorrection2, placeholder, oneWaySynonym, altCorrection1, altCorrection2Synonym type.
hits[].wordstringWord or phrase to appear in query strings (for [altcorrection1 and altcorrection2](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alt...
nbHitsintegerNumber of results (hits).

Also retrieved by: "find equivalent-word mappings by term", "list the word equivalences on a collection", "look through saved synonyms".

algolia_search.get_synonym

Read one Algolia synonym by its id: the equivalent-word mapping stored on a collection. Calls GET /1/indexes/{indexName}/synonyms/{objectID}.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/indexes/{{params.indexName}}/synonyms/{{params.objectID}}.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesName of the index on which to perform the operation.
objectIDstringyesUnique identifier of a synonym object.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
correctionsarray of stringWords to be matched in records.
inputstringWord or phrase to appear in query strings (for onewaysynonyms).
objectIDstringUnique identifier of a synonym object.
placeholderstringPlaceholder token to be put inside records.
replacementsarray of stringQuery words that will match the placeholder token.
synonymsarray of stringWords or phrases considered equivalent.
typestring, one of synonym, onewaysynonym, altcorrection1, altcorrection2, placeholder, oneWaySynonym, altCorrection1, altCorrection2Synonym type.
wordstringWord or phrase to appear in query strings (for [altcorrection1 and altcorrection2](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alt...

Also retrieved by: "read one equivalent-word mapping", "look up a saved word equivalence", "show a stored synonym by id".

algolia_search.save_synonym

Create or replace an Algolia synonym: define equivalent words so two different terms return the same results in a collection. Calls PUT /1/indexes/{indexName}/synonyms/{objectID}.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls PUT /1/indexes/{{params.indexName}}/synonyms/{{params.objectID}}.

Arguments:

ArgumentTypeRequiredNotes
body_objectIDstringyesUnique identifier of a synonym object.
correctionsarray of stringnoWords to be matched in records.
forwardToReplicasbooleannoWhether changes are applied to replica indices.
indexNamestringyesName of the index on which to perform the operation.
inputstringnoWord or phrase to appear in query strings (for onewaysynonyms).
objectIDstringyesUnique identifier of a synonym object.
placeholderstringnoPlaceholder token to be put inside records.
replacementsarray of stringnoQuery words that will match the placeholder token.
synonymsarray of stringnoWords or phrases considered equivalent.
typestring, one of synonym, onewaysynonym, altcorrection1, altcorrection2, placeholder, oneWaySynonym, altCorrection1, altCorrection2yesSynonym type.
wordstringnoWord or phrase to appear in query strings (for [altcorrection1 and altcorrection2](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/in-depth/synonyms-alt...

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
idstringUnique identifier of a synonym object.
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "define equivalent words for a collection", "make two terms return the same results", "add a word mapping for relevance".

algolia_search.delete_synonym

Delete one Algolia synonym by its id: drop an equivalent-word mapping from a collection. Calls DELETE /1/indexes/{indexName}/synonyms/{objectID}.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /1/indexes/{{params.indexName}}/synonyms/{{params.objectID}}.

Arguments:

ArgumentTypeRequiredNotes
forwardToReplicasbooleannoWhether changes are applied to replica indices.
indexNamestringyesName of the index on which to perform the operation.
objectIDstringyesUnique identifier of a synonym object.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedAtstringDate and time when the object was deleted, in RFC 3339 format.
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...

Also retrieved by: "remove one equivalent-word mapping", "drop a saved word equivalence", "delete a synonym by id".

algolia_search.get_task

Check whether an Algolia indexing task finished: the status of one write against a collection, so you know the change is searchable. Calls GET /1/indexes/{indexName}/task/{taskID}.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/indexes/{{params.indexName}}/task/{{params.taskID}}.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesName of the index on which to perform the operation.
taskIDinteger (int64)yesUnique task identifier.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
statusstring, one of published, notPublishedTask status, published if the task is completed, notPublished otherwise.

Also retrieved by: "is my write searchable yet", "check the status of an index operation", "did that indexing job finish".

algolia_search.get_object

Retrieve a record from an Algolia index: fetch one stored document by its object id, with no query involved. Calls GET /1/indexes/{indexName}/{objectID}.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/indexes/{{params.indexName}}/{{params.objectID}}.

Arguments:

ArgumentTypeRequiredNotes
attributesToRetrievearray of stringnoAttributes to include with the records in the response. This is useful to reduce the size of the API response. By default, all retrievable attributes are returned. objectID is always retrieved...
indexNamestringyesName of the index on which to perform the operation.
objectIDstringyesUnique record identifier.

Also retrieved by: "fetch one document by its id", "read a single stored record", "pull up a record by primary key".

algolia_search.delete_object

Delete one stored Algolia record by its object id: remove a single document from a collection by its id. Calls DELETE /1/indexes/{indexName}/{objectID}.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /1/indexes/{{params.indexName}}/{{params.objectID}}.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesName of the index on which to perform the operation.
objectIDstringyesUnique record identifier.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedAtstringDate and time when the object was deleted, in RFC 3339 format.
taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...

Also retrieved by: "remove one document by its id", "drop a single stored record", "delete a record by primary key".

algolia_search.list_api_keys

List the Algolia API keys of this application: every access token with the permissions and restrictions it carries. Calls GET /1/keys.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/keys.

Takes no arguments.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
keysarray of objectAPI keys.
keys[].aclarrayPermissions that determine the type of API requests this key can make. The required ACL is listed in each endpoint's reference. For more information, see [access control... Defaults to [].
keys[].createdAtinteger (int64)Timestamp when the object was created, in milliseconds since the Unix epoch.
keys[].descriptionstringDescription of an API key to help you identify this API key. Defaults to .
keys[].indexesarrayIndex names or patterns that this API key can access. By default, an API key can access all indices in the same application. You can use leading and trailing wildcard characters (*): - dev_*... Defaults to [].
keys[].maxHitsPerQueryintegerMaximum number of results this API key can retrieve in one query. By default, there's no limit. Defaults to 0.
keys[].maxQueriesPerIPPerHourintegerMaximum number of API requests allowed per IP address or user token per hour. If this limit is reached, the API returns an... Defaults to 0.
keys[].queryParametersstringQuery parameters to add when making API requests with this API key. To restrict this API key to specific IP addresses, add the restrictSources parameter. You can only add a single source, but you... Defaults to .
keys[].referersarrayAllowed HTTP referrers for this API key. By default, all referrers are allowed. You can use leading and trailing wildcard characters (*): - https://algolia.com/* allows all referrers starting... Defaults to [].
keys[].validityintegerDuration (in seconds) after which the API key expires. By default, API keys don't expire. Defaults to 0.
keys[].valuestringAPI key.

Also retrieved by: "show the access tokens for this application", "what credentials exist here", "list keys and their permissions".

algolia_search.add_api_key

Create an Algolia API key: mint a new access token with scoped permissions, index restrictions, and an optional expiry. Calls POST /1/keys.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/keys.

Arguments:

ArgumentTypeRequiredNotes
aclarray of stringyesPermissions that determine the type of API requests this key can make. The required ACL is listed in each endpoint's reference. For more information, see [access control... Defaults to [].
descriptionstringnoDescription of an API key to help you identify this API key. Defaults to .
indexesarray of stringnoIndex names or patterns that this API key can access. By default, an API key can access all indices in the same application. You can use leading and trailing wildcard characters (*): - dev_*... Defaults to [].
maxHitsPerQueryintegernoMaximum number of results this API key can retrieve in one query. By default, there's no limit. Defaults to 0.
maxQueriesPerIPPerHourintegernoMaximum number of API requests allowed per IP address or user token per hour. If this limit is reached, the API returns an... Defaults to 0.
queryParametersstringnoQuery parameters to add when making API requests with this API key. To restrict this API key to specific IP addresses, add the restrictSources parameter. You can only add a single source, but you... Defaults to .
referersarray of stringnoAllowed HTTP referrers for this API key. By default, all referrers are allowed. You can use leading and trailing wildcard characters (*): - https://algolia.com/* allows all referrers starting... Defaults to [].
validityintegernoDuration (in seconds) after which the API key expires. By default, API keys don't expire. Defaults to 0.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
createdAtstringDate and time when the object was created, in RFC 3339 format.
keystringAPI key.

Also retrieved by: "mint a new access token with scoped permissions", "issue a credential limited to one collection", "create a search-only token".

algolia_search.get_api_key

Read one Algolia API key: the permissions, index restrictions, and rate limits an access token carries. Calls GET /1/keys/{key}.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/keys/{{params.key}}.

Arguments:

ArgumentTypeRequiredNotes
keystringyesAPI key.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
aclarray of stringPermissions that determine the type of API requests this key can make. The required ACL is listed in each endpoint's reference. For more information, see [access control... Defaults to [].
createdAtinteger (int64)Timestamp when the object was created, in milliseconds since the Unix epoch.
descriptionstringDescription of an API key to help you identify this API key. Defaults to .
indexesarray of stringIndex names or patterns that this API key can access. By default, an API key can access all indices in the same application. You can use leading and trailing wildcard characters (*): - dev_*... Defaults to [].
maxHitsPerQueryintegerMaximum number of results this API key can retrieve in one query. By default, there's no limit. Defaults to 0.
maxQueriesPerIPPerHourintegerMaximum number of API requests allowed per IP address or user token per hour. If this limit is reached, the API returns an... Defaults to 0.
queryParametersstringQuery parameters to add when making API requests with this API key. To restrict this API key to specific IP addresses, add the restrictSources parameter. You can only add a single source, but you... Defaults to .
referersarray of stringAllowed HTTP referrers for this API key. By default, all referrers are allowed. You can use leading and trailing wildcard characters (*): - https://algolia.com/* allows all referrers starting... Defaults to [].
validityintegerDuration (in seconds) after which the API key expires. By default, API keys don't expire. Defaults to 0.
valuestringAPI key.

Also retrieved by: "what permissions does this token have", "read an access token's restrictions", "inspect a credential".

algolia_search.update_api_key

Change an Algolia API key: replace the permissions and restrictions an existing access token carries. Calls PUT /1/keys/{key}.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls PUT /1/keys/{{params.key}}.

Arguments:

ArgumentTypeRequiredNotes
aclarray of stringyesPermissions that determine the type of API requests this key can make. The required ACL is listed in each endpoint's reference. For more information, see [access control... Defaults to [].
descriptionstringnoDescription of an API key to help you identify this API key. Defaults to .
indexesarray of stringnoIndex names or patterns that this API key can access. By default, an API key can access all indices in the same application. You can use leading and trailing wildcard characters (*): - dev_*... Defaults to [].
keystringyesAPI key.
maxHitsPerQueryintegernoMaximum number of results this API key can retrieve in one query. By default, there's no limit. Defaults to 0.
maxQueriesPerIPPerHourintegernoMaximum number of API requests allowed per IP address or user token per hour. If this limit is reached, the API returns an... Defaults to 0.
queryParametersstringnoQuery parameters to add when making API requests with this API key. To restrict this API key to specific IP addresses, add the restrictSources parameter. You can only add a single source, but you... Defaults to .
referersarray of stringnoAllowed HTTP referrers for this API key. By default, all referrers are allowed. You can use leading and trailing wildcard characters (*): - https://algolia.com/* allows all referrers starting... Defaults to [].
validityintegernoDuration (in seconds) after which the API key expires. By default, API keys don't expire. Defaults to 0.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
keystringAPI key.
updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "change what a token is allowed to do", "replace an access token's permissions", "narrow a credential's scope".

algolia_search.delete_api_key

Delete an Algolia API key: revoke an access token so it stops working. Calls DELETE /1/keys/{key}.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /1/keys/{{params.key}}.

Arguments:

ArgumentTypeRequiredNotes
keystringyesAPI key.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedAtstringDate and time when the object was deleted, in RFC 3339 format.

Also retrieved by: "revoke an access token", "remove a credential", "stop a token from working".

algolia_search.restore_api_key

Restore a deleted Algolia API key: bring a revoked access token back with the permissions it had. Calls POST /1/keys/{key}/restore.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/keys/{{params.key}}/restore.

Arguments:

ArgumentTypeRequiredNotes
keystringyesAPI key.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
createdAtstringDate and time when the object was created, in RFC 3339 format.
keystringAPI key.

Also retrieved by: "bring a revoked token back", "undo a credential deletion", "reinstate an access token".

algolia_search.get_logs

Retrieve log entries for this Algolia application: the recent request history of API calls it served, with their timing, status, and errors. Needs a key holding the logs permission. Calls GET /1/logs.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/logs.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringnoIndex for which to retrieve log entries. By default, log entries are retrieved for all indices.
lengthintegernoMaximum number of entries to retrieve. Defaults to 10.
offsetintegernoFirst log entry to retrieve. The most recent entries are listed first. Defaults to 0.
typestring, one of all, query, build, errornoType of log entries to retrieve. By default, all log entries are retrieved. Defaults to all.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
logsarray of object
logs[].answerstringResponse body.
logs[].answer_codestringHTTP status code of the response.
logs[].indexstringIndex targeted by the query.
logs[].inner_queriesarrayQueries performed for the given request.
logs[].ipstring (ipv4)IP address of the client that performed the request.
logs[].methodstringHTTP method of the request.
logs[].nb_api_callsstringNumber of API requests.
logs[].processing_time_msstringProcessing time for the query in milliseconds. This doesn't include latency due to the network.
logs[].query_bodystringRequest body.
logs[].query_headersstringRequest headers (API keys are obfuscated).
logs[].query_nb_hitsstringNumber of search results (hits) returned for the query.
logs[].query_paramsstringQuery parameters sent with the request.
logs[].sha1stringSHA1 signature of the log entry.
logs[].timestampstringDate and time of the API request, in RFC 3339 format.
logs[].urlstring (uri-reference)URL of the API endpoint.

Also retrieved by: "show the recent request history", "what calls did this application serve", "read the api activity log".

algolia_search.get_sources

List the IP addresses allowed to reach this Algolia application: the allow-list that decides which networks may call it. Calls GET /1/security/sources.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/security/sources.

Takes no arguments.

Also retrieved by: "which networks may reach this application", "read the ip allow-list", "show the permitted addresses".

algolia_search.append_source

Allow another IP address to reach this Algolia application: add a network to the allow-list. Calls POST /1/security/sources/append.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /1/security/sources/append.

Arguments:

ArgumentTypeRequiredNotes
descriptionstringnoSource description.
sourcestringyesIP address range of the source.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
createdAtstringDate and time when the object was created, in RFC 3339 format.

Also retrieved by: "allow another network to reach the application", "add an address to the allow-list", "permit a new ip range".

algolia_search.delete_source

Stop allowing an IP address to reach this Algolia application: remove a network from the allow-list. Calls DELETE /1/security/sources/{source}.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /1/security/sources/{{params.source}}.

Arguments:

ArgumentTypeRequiredNotes
sourcestringyesIP address range of the source.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedAtstringDate and time when the object was deleted, in RFC 3339 format.

Also retrieved by: "stop allowing a network", "remove an address from the allow-list", "revoke an ip range".

algolia_search.get_app_task

Check whether an application-level Algolia task finished: the status of a change that spans the whole application rather than one collection. Calls GET /1/task/{taskID}.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /1/task/{{params.taskID}}.

Arguments:

ArgumentTypeRequiredNotes
taskIDinteger (int64)yesUnique task identifier.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
statusstring, one of published, notPublishedTask status, published if the task is completed, notPublished otherwise.

Also retrieved by: "check an application-wide operation's status", "did the account-level change finish", "status of a task spanning the application".

algolia_search.chunked_batch

Replace all Algolia records in an index, chunked: push a large list of documents split into groups of 1,000 so one bulk load fits the API's request size. Calls GET /chunkedBatch.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /chunkedBatch.

Arguments:

ArgumentTypeRequiredNotes
actionstring, one of addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clearnoThe batch action to perform on the given array of objects, defaults to addObject.
batchSizeintegernoThe size of the chunk of objects. The number of batch calls will be equal to length(objects) / batchSize. Defaults to 1,000.
indexNamestringyesThe indexName to replace objects in.
objectsarray of objectyesList of objects to replace the current objects with.
waitForTasksbooleannoWhether to wait until every batch task has been processed. This may take longer but is more reliable.

Also retrieved by: "bulk load a large list of documents", "push records in groups of a thousand", "reload a collection from a big export".

algolia_search.index_exists

Check whether an Algolia index exists: report whether a named collection has been created and holds settings or records yet. Calls GET /indexExists.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /indexExists.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesThe name of the index to check.

Also retrieved by: "does this collection exist yet", "check whether an index was created", "is there an index with that name".

algolia_search.replace_all_objects

Replace everything in an Algolia index: swap the whole collection for a new set of documents without interrupting live searches. Calls GET /replaceAllObjects.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls GET /replaceAllObjects.

Arguments:

ArgumentTypeRequiredNotes
batchSizeintegernoThe size of the chunk of objects. The number of batch calls will be equal to length(objects) / batchSize. Defaults to 1,000. Defaults to 1000.
indexNamestringyesThe indexName to replace objects in.
objectsarray of objectyesList of objects to replace the current objects with.
scopesarray of stringnoList of scopes to keep in the index. Defaults to settings, synonyms, and rules.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
batchResponsesarray of objectThe response of the batch request(s).
batchResponses[].objectIDsarrayUnique record identifiers.
batchResponses[].taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
copyOperationResponseobjectResponse, taskID, and update timestamp.
copyOperationResponse.taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
copyOperationResponse.updatedAtstringDate and time when the object was updated, in RFC 3339 format.
moveOperationResponseobjectResponse, taskID, and update timestamp.
moveOperationResponse.taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
moveOperationResponse.updatedAtstringDate and time when the object was updated, in RFC 3339 format.

Also retrieved by: "swap a collection for a fresh set of documents", "reindex without downtime", "overwrite everything in an index".

algolia_search.replace_all_objects_with_transformation

Replace everything in an Algolia index through the Push transformation pipeline: swap in a new set of documents and reshape each one as it lands. Calls GET /replaceAllObjectsWithTransformation.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls GET /replaceAllObjectsWithTransformation.

Arguments:

ArgumentTypeRequiredNotes
batchSizeintegernoThe size of the chunk of objects. The number of batch calls will be equal to length(objects) / batchSize. Defaults to 1,000. Defaults to 1000.
indexNamestringyesThe indexName to replace objects in.
objectsarray of objectyesList of objects to replace the current objects with.
scopesarray of stringnoList of scopes to keep in the index. Defaults to settings, synonyms, and rules.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
copyOperationResponseobjectResponse, taskID, and update timestamp.
copyOperationResponse.taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
copyOperationResponse.updatedAtstringDate and time when the object was updated, in RFC 3339 format.
moveOperationResponseobjectResponse, taskID, and update timestamp.
moveOperationResponse.taskIDinteger (int64)Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [task...
moveOperationResponse.updatedAtstringDate and time when the object was updated, in RFC 3339 format.
watchResponsesarray of objectThe response of the push request(s).
watchResponses[].createdAtstringDate and time when the resource was created, in RFC 3339 format.
watchResponses[].dataarrayThis field is always null when used with the Push endpoint. When used for a source discover or source validate run, it will include the sampled data of the source.
watchResponses[].eventIDstringUniversally unique identifier (UUID) of an event.
watchResponses[].eventsarrayin case of error, observability events will be added to the response.
watchResponses[].messagestringa message describing the outcome of the operation that has been ran (push, discover or validate) run.
watchResponses[].runIDstringUniversally unique identifier (UUID) of a task run.

Also retrieved by: "reindex and reshape each document on the way in", "swap in new documents through the push pipeline", "transform records while reloading a collection".

algolia_search.wait_for_app_task

Wait until an application-level Algolia task finishes: block until a change spanning the whole application is applied. Calls GET /waitForAppTask.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /waitForAppTask.

Arguments:

ArgumentTypeRequiredNotes
taskIDinteger (int64)yesThe taskID returned by the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
statusstring, one of published, notPublishedTask status, published if the task is completed, notPublished otherwise.

Also retrieved by: "block until the application-wide change lands", "wait for an account-level operation", "hold until the whole-application task is done".

algolia_search.wait_for_task

Wait until an Algolia indexing task finishes: block until a write against a collection is applied, so the next read sees it. Calls GET /waitForTask.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /waitForTask.

Arguments:

ArgumentTypeRequiredNotes
indexNamestringyesThe name of the index on which the operation was performed.
taskIDinteger (int64)yesThe taskID returned by the operation.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
statusstring, one of published, notPublishedTask status, published if the task is completed, notPublished otherwise.

Also retrieved by: "block until the write is applied", "wait for the index to catch up", "hold until the change is searchable".