Algolia Search
Hosted site search. Search an index, add and update the records in it, and tune ranking with rules, synonyms, and settings.
| Property | Value |
|---|---|
| Slug | algolia_search |
| Definition version | 0.2.0 |
| Base URL | https://{{account.app_id}}.algolia.net |
| Auth schemes | api_key |
| Action tools | 58 |
| By class | 22 read, 23 write, 13 destructive |
| Triggers | 0 |
| Provider rate limit | not 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.
| Measure | Cases | Share |
|---|---|---|
| top-1 | 45/74 | 60.8% |
| top-8 | 70/74 | 94.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
| Property | Value |
|---|---|
| Placement | header |
| Name | x-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):
| Field | Type | Notes |
|---|---|---|
topUsers | array of string | Key-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:
| Argument | Type | Required | Notes |
|---|---|---|---|
hitsPerPage | integer | no | Number of hits per page. Defaults to 100. |
page | integer | no | Requested 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):
| Field | Type | Notes |
|---|---|---|
userIDs | array of object | User IDs. |
userIDs[].clusterName | string | Cluster to which the user is assigned. |
userIDs[].dataSize | integer | Data size used by the user. |
userIDs[].nbRecords | integer | Number of records belonging to the user. |
userIDs[].userID | string | Unique 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
X_Algolia_User_ID | string | yes | Unique identifier of the user who makes the search request. |
cluster | string | yes | Cluster name. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
createdAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
X_Algolia_User_ID | string | yes | Unique identifier of the user who makes the search request. |
cluster | string | yes | Cluster name. |
users | array of string | yes | User IDs to assign. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
createdAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
getClusters | boolean | no | Whether to include the cluster's pending mapping state in the response. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
clusters | object | Cluster pending mapping state: migrating, creating, deleting. |
pending | boolean | Whether 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
clusterName | string | no | Cluster name. |
hitsPerPage | integer | no | Number of hits per page. Defaults to 20. |
page | integer | no | Page of search results to retrieve. Defaults to 0. |
query | string | yes |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
hits | array of object | User objects that match the query. |
hits[]._highlightResult | object | |
hits[].clusterName | string | Cluster name. |
hits[].dataSize | integer | Data size taken by all the users assigned to the cluster. |
hits[].nbRecords | integer | Number of records in the cluster. |
hits[].objectID | string | userID of the requested user. Same as userID. |
hits[].userID | string | Unique identifier of the user who makes the search request. |
hitsPerPage | integer | Maximum number of hits per page. Algolia uses page and hitsPerPage to control how search results are displayed... Defaults to 20. |
nbHits | integer | Number of results (hits). |
page | integer | Page of search results to retrieve. Defaults to 0. |
updatedAt | string | Date 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):
| Field | Type | Notes |
|---|---|---|
topUsers | array of object | Key-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:
| Argument | Type | Required | Notes |
|---|---|---|---|
userID | string | yes | Unique identifier of the user who makes the search request. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
clusterName | string | Cluster to which the user is assigned. |
dataSize | integer | Data size used by the user. |
nbRecords | integer | Number of records belonging to the user. |
userID | string | Unique 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
userID | string | yes | Unique identifier of the user who makes the search request. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
deletedAt | string | Date 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):
| Field | Type | Notes |
|---|---|---|
disableStandardEntries | object | Key-value pairs of supported language ISO codes and boolean... |
disableStandardEntries.compounds | object | Key-value pair of a language ISO code and a boolean value. |
disableStandardEntries.plurals | object | Key-value pair of a language ISO code and a boolean value. |
disableStandardEntries.stopwords | object | Key-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:
| Argument | Type | Required | Notes |
|---|---|---|---|
disableStandardEntries | object | yes | Key-value pairs of supported language ISO codes and boolean... |
disableStandardEntries.compounds | object | no | Key-value pair of a language ISO code and a boolean value. |
disableStandardEntries.plurals | object | no | Key-value pair of a language ISO code and a boolean value. |
disableStandardEntries.stopwords | object | no | Key-value pair of a language ISO code and a boolean value. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
clearExistingDictionaryEntries | boolean | no | Whether to replace all custom entries in the dictionary with the ones sent with this request. Defaults to false. |
dictionaryName | string, one of plurals, stopwords, compounds | yes | Dictionary type in which to search. |
requests | array of object | yes | List of additions and deletions to your dictionaries. |
requests[].action | string, one of addEntry, deleteEntry | yes | Actions to perform. |
requests[].body | object | yes | Dictionary entry. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
dictionaryName | string, one of plurals, stopwords, compounds | yes | Dictionary type in which to search. |
hitsPerPage | integer | no | Number of hits per page. Defaults to 20. |
language | string, 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, hu | no | ISO code for a supported language. |
page | integer | no | Page of search results to retrieve. Defaults to 0. |
query | string | yes | Search query. Defaults to . |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
hits | array of object | Dictionary entries matching the search criteria. |
hits[].decomposition | array | Invividual components of a compound word in the compounds dictionary. |
hits[].language | string, 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, hu | ISO code for a supported language. |
hits[].objectID | string | Unique identifier for the dictionary entry. |
hits[].state | string, one of enabled, disabled | Whether a dictionary entry is active. Defaults to enabled. |
hits[].type | string, one of custom, standard | Whether a dictionary entry is provided by Algolia (standard), or has been added by you (custom). |
hits[].word | string | Matching dictionary word for stopwords and compounds dictionaries. |
hits[].words | array | Matching words in the plurals dictionary including declensions. |
nbHits | integer | Number of results (hits). |
nbPages | integer | Number of pages of results. |
page | integer | Requested 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
hitsPerPage | integer | no | Number of hits per page. Defaults to 100. |
page | integer | no | Requested 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):
| Field | Type | Notes |
|---|---|---|
items | array of object | All indices in your Algolia application. |
items[].abTest | object | A/B test metadata. Only present if the index is part of an active A/B test. |
items[].createdAt | string | Index creation date. An empty string means that the index has no records. |
items[].dataSize | integer (int64) | Number of bytes of the index in minified format. |
items[].entries | integer | Number of records contained in the index. |
items[].fileSize | integer (int64) | Number of bytes of the index binary file. |
items[].lastBuildTimeS | integer | Last build time. |
items[].name | string | Index name. |
items[].numberOfPendingTasks | integer | Number of pending indexing operations. This value is deprecated and should not be used. Defaults to 0. |
items[].pendingTask | boolean | A boolean which says whether the index has pending tasks. This value is deprecated and should not be used. Defaults to false. |
items[].primary | string | Only present if the index is a replica. Contains the name of the related primary index. |
items[].replicas | array | Only present if the index is a primary index with replicas. Contains the names of all linked replicas. |
items[].sourceABTest | string | Name 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[].updatedAt | string | Date and time when the object was updated, in RFC 3339 format. |
items[].virtual | boolean | Only present if the index is a virtual replica. |
nbPages | integer | Number 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
requests | array of object | yes | |
requests[].action | string, one of addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clear | yes | Which 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[].body | object | no | Operation arguments (varies with specified action). |
requests[].indexName | string | yes | Index name (case-sensitive). |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
objectIDs | array of string | Unique record identifiers. |
taskID | object | Task 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
requests | array of object | yes | |
requests[].attributesToRetrieve | array | no | Attributes to retrieve. If not specified, all retrievable attributes are returned. |
requests[].indexName | string | yes | Index from which to retrieve the records. |
requests[].objectID | string | yes | Object ID for the record to retrieve. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
message | string | An optional status message. |
results | array of object | Retrieved records. |
Also retrieved by: "fetch several documents by their ids", "read specific records in one call", "batch lookup by primary key".
algolia_search.search
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:
| Argument | Type | Required | Notes |
|---|---|---|---|
requests | array of object | yes | |
requests[].extensions | object | no | Additional parameters for Algolia AI features. Used to enable Query Categorization and other AI-powered capabilities. |
requests[].indexName | string | yes | Index name (case-sensitive). |
requests[].params | string | no | Search parameters as a URL-encoded query string. Defaults to . |
requests[].type | string, one of default | no | - default: perform a search query - facet searches for facet values. Defaults to default. |
strategy | string, one of none, stopIfEnoughMatches | no | Strategy 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):
| Field | Type | Notes |
|---|---|---|
results | array of object | |
results[]._automaticInsights | boolean | Whether automatic events collection is enabled for the application. |
results[].abTestID | integer | A/B test ID. This is only included in the response for indices that are part of an A/B test. |
results[].abTestVariantID | integer | Variant ID. This is only included in the response for indices that are part of an A/B test. |
results[].appliedRules | array | Rules applied to the query. |
results[].aroundLatLng | string | Computed geographical location. |
results[].automaticRadius | string | Distance from a central coordinate provided by aroundLatLng. |
results[].exhaustive | object | Whether certain properties of the search response are calculated exhaustive (exact) or approximated. |
results[].exhaustiveFacetsCount | boolean | See the facetsCount field of the exhaustive object in the response. |
results[].exhaustiveNbHits | boolean | See the nbHits field of the exhaustive object in the response. |
results[].exhaustiveTypo | boolean | See the typo field of the exhaustive object in the response. |
results[].extensions | object | AI-generated metadata returned alongside search results. Present when Algolia AI features such as Query Categorization are... |
results[].facets | object | Facet counts. |
results[].facets_stats | object | Statistics for numerical facets. |
results[].hits | array | Search results (hits). Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting. |
results[].hitsPerPage | integer | Number of hits per page. Defaults to 20. |
results[].index | string | Index name used for the query. |
results[].indexUsed | string | Index name used for the query. During A/B testing, the targeted index isn't always the index used by the query. |
results[].message | string | Warnings about the query. |
results[].nbHits | integer | Number of results (hits). |
results[].nbPages | integer | Number of pages of results. |
results[].nbSortedHits | integer | Number of hits selected and sorted by the relevant sort algorithm. |
results[].page | integer | Page of search results to retrieve. Defaults to 0. |
results[].params | string | URL-encoded string of all search parameters. |
results[].parsedQuery | string | Post-normalization query string that will be searched. |
results[].processingTimeMS | integer | Time 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | Name of the index on which to perform the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
deletedAt | string | Date and time when the object was deleted, in RFC 3339 format. |
taskID | integer (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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | Name of the index on which to perform the operation. |
requests | array of object | yes | |
requests[].action | string, one of addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clear | yes | Which 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[].body | object | yes | Operation arguments (varies with specified action). |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
objectIDs | array of string | Unique record identifiers. |
taskID | integer (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:
| Argument | Type | Required | Notes |
|---|---|---|---|
advancedSyntax | boolean | no | Whether to support phrase matching and excluding words from search queries Use the advancedSyntaxFeatures parameter to control which feature is supported. Defaults to false. |
advancedSyntaxFeatures | array of string | no | Advanced 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]. |
allowTyposOnNumericTokens | boolean | no | Whether 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. |
alternativesAsExact | array of string | no | Determine 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]. |
analytics | boolean | no | Whether this search will be included in Analytics. Defaults to true. |
analyticsTags | array of string | no | Tags to apply to the query for segmenting analytics data. Defaults to []. |
aroundLatLng | string | no | Coordinates 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 . |
aroundLatLngViaIP | boolean | no | Whether to obtain the coordinates from the request's IP address. Defaults to false. |
aroundPrecision | integer | no | Precision 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. |
aroundRadius | integer | no | Maximum 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... |
attributeCriteriaComputedByMinProximity | boolean | no | Whether 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. |
attributesToHighlight | array of string | no | Attributes 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... |
attributesToRetrieve | array of string | no | Attributes 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 [*]. |
attributesToSnippet | array of string | no | Attributes 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 []. |
clickAnalytics | boolean | no | Whether 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. |
cursor | string | no | Cursor 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. |
decompoundQuery | boolean | no | Whether to split compound words in the query into their building blocks For more information, see [Word... Defaults to true. |
disableExactOnAttributes | array of string | no | Searchable 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 []. |
disableTypoToleranceOnAttributes | array of string | no | Attributes for which you want to turn off typo tolerance. Attribute names are case-sensitive Returning... Defaults to []. |
distinct | boolean | no | Determines 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... |
enableABTest | boolean | no | Whether to enable A/B testing for this search. Defaults to true. |
enablePersonalization | boolean | no | Whether to enable Personalization. Defaults to false. |
enableReRanking | boolean | no | Whether 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. |
enableRules | boolean | no | Whether to enable rules. Defaults to true. |
exactOnSingleWordQuery | string, one of attribute, none, word | no | Determines 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. |
indexName | string | yes | Name of the index on which to perform the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
_automaticInsights | boolean | Whether automatic events collection is enabled for the application. |
abTestID | integer | A/B test ID. This is only included in the response for indices that are part of an A/B test. |
abTestVariantID | integer | Variant ID. This is only included in the response for indices that are part of an A/B test. |
appliedRules | array of object | Rules applied to the query. |
aroundLatLng | string | Computed geographical location. |
automaticRadius | string | Distance from a central coordinate provided by aroundLatLng. |
cursor | string | Cursor 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. |
exhaustive | object | Whether certain properties of the search response are calculated exhaustive (exact) or approximated. |
exhaustive.facetValues | boolean | The value is false if not all facet values are retrieved. |
exhaustive.facetsCount | boolean | Whether 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.nbHits | boolean | Whether 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.rulesMatch | boolean | Rules 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.typo | boolean | Whether 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... |
exhaustiveFacetsCount | boolean | See the facetsCount field of the exhaustive object in the response. |
exhaustiveNbHits | boolean | See the nbHits field of the exhaustive object in the response. |
exhaustiveTypo | boolean | See the typo field of the exhaustive object in the response. |
extensions | object | AI-generated metadata returned alongside search results. Present when Algolia AI features such as Query Categorization are... |
extensions.queryCategorization | object | Query Categorization prediction returned by the AI model. This field is empty when the model cannot categorize the query. See [Query... |
facets | object | Facet counts. |
facets_stats | object | Statistics for numerical facets. |
hits | array of object | Search results (hits). Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting. |
hits[]._distinctSeqID | integer | |
hits[]._highlightResult | object | Surround words that match the query with HTML tags for highlighting. |
hits[]._rankingInfo | object | Object with detailed information about the record's ranking. |
hits[]._snippetResult | object | Snippets that show the context around a matching search query. |
hits[].objectID | string | Unique record identifier. |
hitsPerPage | integer | Number of hits per page. Defaults to 20. |
index | string | Index name used for the query. |
indexUsed | string | Index name used for the query. During A/B testing, the targeted index isn't always the index used by the query. |
message | string | Warnings about the query. |
nbHits | integer | Number of results (hits). |
nbPages | integer | Number of pages of results. |
nbSortedHits | integer | Number of hits selected and sorted by the relevant sort algorithm. |
page | integer | Page of search results to retrieve. Defaults to 0. |
params | string | URL-encoded string of all search parameters. |
parsedQuery | string | Post-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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | Name of the index on which to perform the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
aroundLatLng | string | no | Coordinates 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 . |
aroundRadius | integer | no | Maximum 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... |
facetFilters | array of object | no | Filter 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... |
filters | string | no | Filter 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... |
indexName | string | yes | Name of the index on which to perform the operation. |
insideBoundingBox | string | no | |
insidePolygon | array of array | no | Coordinates 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... |
numericFilters | array of object | no | Filter by numeric facets. Prefer using the filters parameter, which supports all filter types and combinations with boolean operators. You can use numeric comparison operators: <, <=, =... |
tagFilters | array of object | no | Filter 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):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
facetName | string | yes | Facet attribute in which to search for values. This attribute must be included in the attributesForFaceting index setting with the searchable() modifier. |
facetQuery | string | no | Text to search inside the facet's values. Defaults to . |
indexName | string | yes | Name of the index on which to perform the operation. |
maxFacetHits | integer | no | Maximum number of facet values to return when searching for facet values. Defaults to 10. |
params | string | no | Search parameters as a URL-encoded query string. Defaults to . |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
exhaustiveFacetsCount | boolean | Whether the facet count is exhaustive (true) or approximate (false). For more information, see [Why are my facet and hit counts not... |
facetHits | array of object | Matching facet values. |
facetHits[].count | integer | Number of records with this facet value. The count may be approximated. |
facetHits[].highlighted | string | Highlighted attribute value, including HTML tags. |
facetHits[].value | string | Facet value. |
processingTimeMS | integer | Time 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
destination | string | yes | Index name (case-sensitive). |
indexName | string | yes | Name of the index on which to perform the operation. |
operation | string, one of move, copy | yes | Operation to perform on the index. |
scope | array of string | no | Only 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):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | Name of the index on which to perform the operation. |
params | string | no | Search parameters as a URL-encoded query string. Defaults to . |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
_automaticInsights | boolean | Whether automatic events collection is enabled for the application. |
abTestID | integer | A/B test ID. This is only included in the response for indices that are part of an A/B test. |
abTestVariantID | integer | Variant ID. This is only included in the response for indices that are part of an A/B test. |
appliedRules | array of object | Rules applied to the query. |
aroundLatLng | string | Computed geographical location. |
automaticRadius | string | Distance from a central coordinate provided by aroundLatLng. |
exhaustive | object | Whether certain properties of the search response are calculated exhaustive (exact) or approximated. |
exhaustive.facetValues | boolean | The value is false if not all facet values are retrieved. |
exhaustive.facetsCount | boolean | Whether 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.nbHits | boolean | Whether 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.rulesMatch | boolean | Rules 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.typo | boolean | Whether 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... |
exhaustiveFacetsCount | boolean | See the facetsCount field of the exhaustive object in the response. |
exhaustiveNbHits | boolean | See the nbHits field of the exhaustive object in the response. |
exhaustiveTypo | boolean | See the typo field of the exhaustive object in the response. |
extensions | object | AI-generated metadata returned alongside search results. Present when Algolia AI features such as Query Categorization are... |
extensions.queryCategorization | object | Query Categorization prediction returned by the AI model. This field is empty when the model cannot categorize the query. See [Query... |
facets | object | Facet counts. |
facets_stats | object | Statistics for numerical facets. |
hits | array of object | Search results (hits). Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting. |
hits[]._distinctSeqID | integer | |
hits[]._highlightResult | object | Surround words that match the query with HTML tags for highlighting. |
hits[]._rankingInfo | object | Object with detailed information about the record's ranking. |
hits[]._snippetResult | object | Snippets that show the context around a matching search query. |
hits[].objectID | string | Unique record identifier. |
hitsPerPage | integer | Number of hits per page. Defaults to 20. |
index | string | Index name used for the query. |
indexUsed | string | Index name used for the query. During A/B testing, the targeted index isn't always the index used by the query. |
message | string | Warnings about the query. |
nbHits | integer | Number of results (hits). |
nbPages | integer | Number of pages of results. |
nbSortedHits | integer | Number of hits selected and sorted by the relevant sort algorithm. |
page | integer | Page of search results to retrieve. Defaults to 0. |
params | string | URL-encoded string of all search parameters. |
parsedQuery | string | Post-normalization query string that will be searched. |
processingTimeMS | integer | Time 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
forwardToReplicas | boolean | no | Whether changes are applied to replica indices. |
indexName | string | yes | Name of the index on which to perform the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
anchoring | string, one of is, startsWith, endsWith, contains | no | Which 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... |
context | string | no | Only return rules that match the context (exact match). |
enabled | boolean | no | If true, return only enabled rules. If false, return only inactive rules. By default, _all_ rules are returned. |
hitsPerPage | integer | no | Maximum number of hits per page. Algolia uses page and hitsPerPage to control how search results are displayed... Defaults to 20. |
indexName | string | yes | Name of the index on which to perform the operation. |
page | integer | no | Requested page of the API response. Algolia uses page and hitsPerPage to control how search results are displayed... |
query | string | no | Search query for rules. Defaults to . |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
hits | array of object | Rules that matched the search criteria. |
hits[].condition | object | |
hits[].conditions | array | Conditions that trigger a rule. Some consequences require specific conditions or don't require any condition. For more information, see... |
hits[].consequence | object | Effect of the rule. For more information, see Consequences. |
hits[].description | string | Description of the rule's purpose to help you distinguish between different rules. |
hits[].enabled | boolean | Whether the rule is active. Defaults to true. |
hits[].objectID | string | Unique identifier of a rule object. |
hits[].scope | string | |
hits[].tags | array | |
hits[].validity | array | Time periods when the rule is active. |
nbHits | integer | Number of rules that matched the search criteria. |
nbPages | integer | Number of pages. |
page | integer | Current 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | Name of the index on which to perform the operation. |
objectID | string | yes | Unique identifier of a rule object. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
condition | object | |
condition.alternatives | boolean | Whether the pattern should match plurals, synonyms, and typos. Defaults to false. |
condition.anchoring | string, one of is, startsWith, endsWith, contains | Which 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.context | string | An 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.filters | string | Filters 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.pattern | string | Query 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... |
conditions | array of object | Conditions that trigger a rule. Some consequences require specific conditions or don't require any condition. For more information, see... |
conditions[].alternatives | boolean | Whether the pattern should match plurals, synonyms, and typos. Defaults to false. |
conditions[].anchoring | string, one of is, startsWith, endsWith, contains | Which 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[].context | string | An 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[].filters | string | Filters 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[].pattern | string | Query 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... |
consequence | object | Effect of the rule. For more information, see Consequences. |
consequence.filterPromotes | boolean | Determines 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.hide | array | Records you want to hide from the search results. |
consequence.params | object | Parameters to apply to this search. You can use all search parameters, plus special automaticFacetFilters, automaticOptionalFacetFilters, and query. |
consequence.promote | array | Records 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.redirect | object | Redirect to a virtual replica index. This consequence is only valid for rules with scope: redirect. |
consequence.userData | object | A 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 kB of minified JSON. |
description | string | Description of the rule's purpose to help you distinguish between different rules. |
enabled | boolean | Whether the rule is active. Defaults to true. |
objectID | string | Unique identifier of a rule object. |
scope | string | |
tags | array of string | |
validity | array of object | Time periods when the rule is active. |
validity[].from | integer (int64) | Timestamp when the rule should start to be active, measured in seconds since the Unix epoch. |
validity[].until | integer (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:
| Argument | Type | Required | Notes |
|---|---|---|---|
body_objectID | string | yes | Unique identifier of a rule object. |
condition | object | no | |
condition.alternatives | boolean | no | Whether the pattern should match plurals, synonyms, and typos. Defaults to false. |
condition.anchoring | string, one of is, startsWith, endsWith, contains | no | Which 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.context | string | no | An 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.filters | string | no | Filters 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.pattern | string | no | Query 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... |
conditions | array of object | no | Conditions that trigger a rule. Some consequences require specific conditions or don't require any condition. For more information, see... |
conditions[].alternatives | boolean | no | Whether the pattern should match plurals, synonyms, and typos. Defaults to false. |
conditions[].anchoring | string, one of is, startsWith, endsWith, contains | no | Which 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[].context | string | no | An 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[].filters | string | no | Filters 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[].pattern | string | no | Query 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... |
consequence | object | yes | Effect of the rule. For more information, see Consequences. |
consequence.filterPromotes | boolean | no | Determines 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.hide | array | no | Records you want to hide from the search results. |
consequence.params | object | no | Parameters to apply to this search. You can use all search parameters, plus special automaticFacetFilters, automaticOptionalFacetFilters, and query. |
consequence.promote | array | no | Records 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.redirect | object | no | Redirect to a virtual replica index. This consequence is only valid for rules with scope: redirect. |
consequence.userData | object | no | A 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 kB of minified JSON. |
description | string | no | Description of the rule's purpose to help you distinguish between different rules. |
enabled | boolean | no | Whether the rule is active. Defaults to true. |
forwardToReplicas | boolean | no | Whether changes are applied to replica indices. |
indexName | string | yes | Name of the index on which to perform the operation. |
objectID | string | yes | Unique identifier of a rule object. |
scope | string | no | |
tags | array of string | no | |
validity | array of object | no | Time periods when the rule is active. |
validity[].from | integer (int64) | no | Timestamp when the rule should start to be active, measured in seconds since the Unix epoch. |
validity[].until | integer (int64) | no | Timestamp 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):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
forwardToReplicas | boolean | no | Whether changes are applied to replica indices. |
indexName | string | yes | Name of the index on which to perform the operation. |
objectID | string | yes | Unique identifier of a rule object. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
getVersion | integer | no | When set to 2, the endpoint will not include synonyms in the response. This parameter is here for backward compatibility. Defaults to 1. |
indexName | string | yes | Name of the index on which to perform the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
advancedSyntax | boolean | Whether to support phrase matching and excluding words from search queries Use the advancedSyntaxFeatures parameter to control which feature is supported. Defaults to false. |
advancedSyntaxFeatures | array of string | Advanced 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]. |
allowCompressionOfIntegerArray | boolean | Whether arrays with exclusively non-negative integers should be compressed for better performance. If true, the compressed arrays may be reordered. Defaults to false. |
allowTyposOnNumericTokens | boolean | Whether 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. |
alternativesAsExact | array of string | Determine 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]. |
attributeCriteriaComputedByMinProximity | boolean | Whether 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. |
attributeForDistinct | string | Attribute 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... |
attributesForFaceting | array of string | Attributes used for faceting. Facets are attributes that let you categorize search results. They can be used for... Defaults to []. |
attributesToHighlight | array of string | Attributes 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... |
attributesToRetrieve | array of string | Attributes 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 [*]. |
attributesToSnippet | array of string | Attributes 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 []. |
attributesToTransliterate | array of string | Attributes, 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... |
camelCaseAttributes | array of string | Attributes for which to split camel case words. Attribute names are case-sensitive. Defaults to []. |
customNormalization | object | Characters 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... |
customRanking | array of string | Attributes to use as custom ranking. Attribute names are case-sensitive. The custom ranking attributes decide which items... Defaults to []. |
decompoundQuery | boolean | Whether to split compound words in the query into their building blocks For more information, see [Word... Defaults to true. |
decompoundedAttributes | object | Searchable 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[]. |
disableExactOnAttributes | array of string | Searchable 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 []. |
disablePrefixOnAttributes | array of string | Searchable 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 []. |
disableTypoToleranceOnAttributes | array of string | Attributes for which you want to turn off typo tolerance. Attribute names are case-sensitive Returning... Defaults to []. |
disableTypoToleranceOnWords | array of string | Creates 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 []. |
distinct | boolean | Determines 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... |
enablePersonalization | boolean | Whether to enable Personalization. Defaults to false. |
enableReRanking | boolean | Whether 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. |
enableRules | boolean | Whether 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
advancedSyntax | boolean | no | Whether to support phrase matching and excluding words from search queries Use the advancedSyntaxFeatures parameter to control which feature is supported. Defaults to false. |
advancedSyntaxFeatures | array of string | no | Advanced 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]. |
allowCompressionOfIntegerArray | boolean | no | Whether arrays with exclusively non-negative integers should be compressed for better performance. If true, the compressed arrays may be reordered. Defaults to false. |
allowTyposOnNumericTokens | boolean | no | Whether 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. |
alternativesAsExact | array of string | no | Determine 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]. |
attributeCriteriaComputedByMinProximity | boolean | no | Whether 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. |
attributeForDistinct | string | no | Attribute 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... |
attributesForFaceting | array of string | no | Attributes used for faceting. Facets are attributes that let you categorize search results. They can be used for... Defaults to []. |
attributesToHighlight | array of string | no | Attributes 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... |
attributesToRetrieve | array of string | no | Attributes 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 [*]. |
attributesToSnippet | array of string | no | Attributes 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 []. |
attributesToTransliterate | array of string | no | Attributes, 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... |
camelCaseAttributes | array of string | no | Attributes for which to split camel case words. Attribute names are case-sensitive. Defaults to []. |
customNormalization | object | no | Characters 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... |
customRanking | array of string | no | Attributes to use as custom ranking. Attribute names are case-sensitive. The custom ranking attributes decide which items... Defaults to []. |
decompoundQuery | boolean | no | Whether to split compound words in the query into their building blocks For more information, see [Word... Defaults to true. |
decompoundedAttributes | object | no | Searchable 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[]. |
disableExactOnAttributes | array of string | no | Searchable 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 []. |
disablePrefixOnAttributes | array of string | no | Searchable 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 []. |
disableTypoToleranceOnAttributes | array of string | no | Attributes for which you want to turn off typo tolerance. Attribute names are case-sensitive Returning... Defaults to []. |
disableTypoToleranceOnWords | array of string | no | Creates 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 []. |
distinct | boolean | no | Determines 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... |
enablePersonalization | boolean | no | Whether to enable Personalization. Defaults to false. |
enableReRanking | boolean | no | Whether 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. |
enableRules | boolean | no | Whether to enable rules. Defaults to true. |
forwardToReplicas | boolean | no | Whether changes are applied to replica indices. |
indexName | string | yes | Name of the index on which to perform the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
forwardToReplicas | boolean | no | Whether changes are applied to replica indices. |
indexName | string | yes | Name of the index on which to perform the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
hitsPerPage | integer | no | Number of hits per page. Defaults to 20. |
indexName | string | yes | Name of the index on which to perform the operation. |
page | integer | no | Page of search results to retrieve. Defaults to 0. |
query | string | no | Search query. Defaults to . |
type | string, one of synonym, onewaysynonym, altcorrection1, altcorrection2, placeholder, oneWaySynonym, altCorrection1, altCorrection2 | no | Synonym type. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
hits | array of object | Matching synonyms. |
hits[].corrections | array | Words to be matched in records. |
hits[].input | string | Word or phrase to appear in query strings (for onewaysynonyms). |
hits[].objectID | string | Unique identifier of a synonym object. |
hits[].placeholder | string | Placeholder token to be put inside records. |
hits[].replacements | array | Query words that will match the placeholder token. |
hits[].synonyms | array | Words or phrases considered equivalent. |
hits[].type | string, one of synonym, onewaysynonym, altcorrection1, altcorrection2, placeholder, oneWaySynonym, altCorrection1, altCorrection2 | Synonym type. |
hits[].word | string | Word 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... |
nbHits | integer | Number 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | Name of the index on which to perform the operation. |
objectID | string | yes | Unique identifier of a synonym object. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
corrections | array of string | Words to be matched in records. |
input | string | Word or phrase to appear in query strings (for onewaysynonyms). |
objectID | string | Unique identifier of a synonym object. |
placeholder | string | Placeholder token to be put inside records. |
replacements | array of string | Query words that will match the placeholder token. |
synonyms | array of string | Words or phrases considered equivalent. |
type | string, one of synonym, onewaysynonym, altcorrection1, altcorrection2, placeholder, oneWaySynonym, altCorrection1, altCorrection2 | Synonym type. |
word | string | Word 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
body_objectID | string | yes | Unique identifier of a synonym object. |
corrections | array of string | no | Words to be matched in records. |
forwardToReplicas | boolean | no | Whether changes are applied to replica indices. |
indexName | string | yes | Name of the index on which to perform the operation. |
input | string | no | Word or phrase to appear in query strings (for onewaysynonyms). |
objectID | string | yes | Unique identifier of a synonym object. |
placeholder | string | no | Placeholder token to be put inside records. |
replacements | array of string | no | Query words that will match the placeholder token. |
synonyms | array of string | no | Words or phrases considered equivalent. |
type | string, one of synonym, onewaysynonym, altcorrection1, altcorrection2, placeholder, oneWaySynonym, altCorrection1, altCorrection2 | yes | Synonym type. |
word | string | no | Word 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):
| Field | Type | Notes |
|---|---|---|
id | string | Unique identifier of a synonym object. |
taskID | integer (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... |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
forwardToReplicas | boolean | no | Whether changes are applied to replica indices. |
indexName | string | yes | Name of the index on which to perform the operation. |
objectID | string | yes | Unique identifier of a synonym object. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
deletedAt | string | Date and time when the object was deleted, in RFC 3339 format. |
taskID | integer (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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | Name of the index on which to perform the operation. |
taskID | integer (int64) | yes | Unique task identifier. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
status | string, one of published, notPublished | Task 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
attributesToRetrieve | array of string | no | Attributes 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... |
indexName | string | yes | Name of the index on which to perform the operation. |
objectID | string | yes | Unique 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | Name of the index on which to perform the operation. |
objectID | string | yes | Unique record identifier. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
deletedAt | string | Date and time when the object was deleted, in RFC 3339 format. |
taskID | integer (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):
| Field | Type | Notes |
|---|---|---|
keys | array of object | API keys. |
keys[].acl | array | Permissions 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[].createdAt | integer (int64) | Timestamp when the object was created, in milliseconds since the Unix epoch. |
keys[].description | string | Description of an API key to help you identify this API key. Defaults to . |
keys[].indexes | array | Index 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[].maxHitsPerQuery | integer | Maximum number of results this API key can retrieve in one query. By default, there's no limit. Defaults to 0. |
keys[].maxQueriesPerIPPerHour | integer | Maximum 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[].queryParameters | string | Query 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[].referers | array | Allowed 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[].validity | integer | Duration (in seconds) after which the API key expires. By default, API keys don't expire. Defaults to 0. |
keys[].value | string | API 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
acl | array of string | yes | Permissions 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 []. |
description | string | no | Description of an API key to help you identify this API key. Defaults to . |
indexes | array of string | no | Index 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 []. |
maxHitsPerQuery | integer | no | Maximum number of results this API key can retrieve in one query. By default, there's no limit. Defaults to 0. |
maxQueriesPerIPPerHour | integer | no | Maximum 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. |
queryParameters | string | no | Query 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 . |
referers | array of string | no | Allowed 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 []. |
validity | integer | no | Duration (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):
| Field | Type | Notes |
|---|---|---|
createdAt | string | Date and time when the object was created, in RFC 3339 format. |
key | string | API 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
key | string | yes | API key. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
acl | array of string | Permissions 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 []. |
createdAt | integer (int64) | Timestamp when the object was created, in milliseconds since the Unix epoch. |
description | string | Description of an API key to help you identify this API key. Defaults to . |
indexes | array of string | Index 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 []. |
maxHitsPerQuery | integer | Maximum number of results this API key can retrieve in one query. By default, there's no limit. Defaults to 0. |
maxQueriesPerIPPerHour | integer | Maximum 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. |
queryParameters | string | Query 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 . |
referers | array of string | Allowed 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 []. |
validity | integer | Duration (in seconds) after which the API key expires. By default, API keys don't expire. Defaults to 0. |
value | string | API 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
acl | array of string | yes | Permissions 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 []. |
description | string | no | Description of an API key to help you identify this API key. Defaults to . |
indexes | array of string | no | Index 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 []. |
key | string | yes | API key. |
maxHitsPerQuery | integer | no | Maximum number of results this API key can retrieve in one query. By default, there's no limit. Defaults to 0. |
maxQueriesPerIPPerHour | integer | no | Maximum 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. |
queryParameters | string | no | Query 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 . |
referers | array of string | no | Allowed 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 []. |
validity | integer | no | Duration (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):
| Field | Type | Notes |
|---|---|---|
key | string | API key. |
updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
key | string | yes | API key. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
deletedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
key | string | yes | API key. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
createdAt | string | Date and time when the object was created, in RFC 3339 format. |
key | string | API 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | no | Index for which to retrieve log entries. By default, log entries are retrieved for all indices. |
length | integer | no | Maximum number of entries to retrieve. Defaults to 10. |
offset | integer | no | First log entry to retrieve. The most recent entries are listed first. Defaults to 0. |
type | string, one of all, query, build, error | no | Type 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):
| Field | Type | Notes |
|---|---|---|
logs | array of object | |
logs[].answer | string | Response body. |
logs[].answer_code | string | HTTP status code of the response. |
logs[].index | string | Index targeted by the query. |
logs[].inner_queries | array | Queries performed for the given request. |
logs[].ip | string (ipv4) | IP address of the client that performed the request. |
logs[].method | string | HTTP method of the request. |
logs[].nb_api_calls | string | Number of API requests. |
logs[].processing_time_ms | string | Processing time for the query in milliseconds. This doesn't include latency due to the network. |
logs[].query_body | string | Request body. |
logs[].query_headers | string | Request headers (API keys are obfuscated). |
logs[].query_nb_hits | string | Number of search results (hits) returned for the query. |
logs[].query_params | string | Query parameters sent with the request. |
logs[].sha1 | string | SHA1 signature of the log entry. |
logs[].timestamp | string | Date and time of the API request, in RFC 3339 format. |
logs[].url | string (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:
| Argument | Type | Required | Notes |
|---|---|---|---|
description | string | no | Source description. |
source | string | yes | IP address range of the source. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
createdAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
source | string | yes | IP address range of the source. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
deletedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
taskID | integer (int64) | yes | Unique task identifier. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
status | string, one of published, notPublished | Task 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
action | string, one of addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clear | no | The batch action to perform on the given array of objects, defaults to addObject. |
batchSize | integer | no | The size of the chunk of objects. The number of batch calls will be equal to length(objects) / batchSize. Defaults to 1,000. |
indexName | string | yes | The indexName to replace objects in. |
objects | array of object | yes | List of objects to replace the current objects with. |
waitForTasks | boolean | no | Whether 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | The 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
batchSize | integer | no | The 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. |
indexName | string | yes | The indexName to replace objects in. |
objects | array of object | yes | List of objects to replace the current objects with. |
scopes | array of string | no | List 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):
| Field | Type | Notes |
|---|---|---|
batchResponses | array of object | The response of the batch request(s). |
batchResponses[].objectIDs | array | Unique record identifiers. |
batchResponses[].taskID | integer (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 | object | Response, taskID, and update timestamp. |
copyOperationResponse.taskID | integer (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.updatedAt | string | Date and time when the object was updated, in RFC 3339 format. |
moveOperationResponse | object | Response, taskID, and update timestamp. |
moveOperationResponse.taskID | integer (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.updatedAt | string | Date 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
batchSize | integer | no | The 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. |
indexName | string | yes | The indexName to replace objects in. |
objects | array of object | yes | List of objects to replace the current objects with. |
scopes | array of string | no | List 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):
| Field | Type | Notes |
|---|---|---|
copyOperationResponse | object | Response, taskID, and update timestamp. |
copyOperationResponse.taskID | integer (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.updatedAt | string | Date and time when the object was updated, in RFC 3339 format. |
moveOperationResponse | object | Response, taskID, and update timestamp. |
moveOperationResponse.taskID | integer (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.updatedAt | string | Date and time when the object was updated, in RFC 3339 format. |
watchResponses | array of object | The response of the push request(s). |
watchResponses[].createdAt | string | Date and time when the resource was created, in RFC 3339 format. |
watchResponses[].data | array | This 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[].eventID | string | Universally unique identifier (UUID) of an event. |
watchResponses[].events | array | in case of error, observability events will be added to the response. |
watchResponses[].message | string | a message describing the outcome of the operation that has been ran (push, discover or validate) run. |
watchResponses[].runID | string | Universally 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
taskID | integer (int64) | yes | The taskID returned by the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
status | string, one of published, notPublished | Task 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:
| Argument | Type | Required | Notes |
|---|---|---|---|
indexName | string | yes | The name of the index on which the operation was performed. |
taskID | integer (int64) | yes | The taskID returned by the operation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
status | string, one of published, notPublished | Task 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".