> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Algolia

> Connect Algolia to your Atako agents — 9 read and 4 write actions.

Let your agents search your Algolia indices, read and index records, and tune index settings, synonyms and rules.

## Connection

* **Authentication**: API key (Algolia API key).
* **Required settings**:
  * **Application ID** — Your Algolia Application ID: 10 uppercase letters or digits, shown on the API Keys page

<Note>
  Algolia dashboard → API Keys (dashboard.algolia.com/account/api-keys) → All API Keys tab → New API Key. Tick the ACL the agent needs: `listIndexes` (REQUIRED — the key is checked with it at connection, a key without it is refused) and `search`, plus `browse` to export records, `settings` to read index settings, synonyms and rules, `addObject` to add or update records, `editSettings` to change settings, `logs` to read logs. Never use the Admin API Key. Copy the key, and the Application ID shown on the same page (Your API Keys tab).

  See [Algolia's documentation](https://dashboard.algolia.com/account/api-keys/).
</Note>

## Read actions (9)

| Action | Description |
| - | - |
| `browse` | Browse (export) the records of an index, up to 1,000 per call, without ranking. Arguments: indexName (string), optional query (string), filters (string), hitsPerPage (integer 1-1000), attributesToRetrieve (array of strings), cursor (string returned by the previous page — pass it alone to continue). |
| `get_logs` | Read the latest API request logs (last 7 days; method, index, status, timing, request and response bodies — headers, URL, query parameters and client IP are removed). Optional: indexName (string), type (all, query, build or error), offset (integer ≥ 0), length (integer 1-1000, default 10). |
| `get_object` | Retrieve one record by its objectID (find ids with search or browse). Optional attributesToRetrieve (array of strings). |
| `get_settings` | Retrieve the non-default settings of an index (searchable attributes, faceting, ranking, replicas…). |
| `list_indices` | List the indices of the application (name, record count, size, last update), within the key's index restrictions. Optional: page (integer ≥ 0), hitsPerPage (integer 1-1000). |
| `search` | Search one index and return matching hits (up to 1,000 in total; use browse beyond). Arguments: indexName (string), optional query (string), filters (string, e.g. "category:Book AND price \< 20"), facets (array of attribute names to count), hitsPerPage (integer 1-1000), page (integer ≥ 0), attributesToRetrieve (array of strings). |
| `search_facet_values` | Search the values of one facet attribute (sorted by count). Arguments: indexName (string), facetName (string, an attribute declared in attributesForFaceting as searchable), optional facetQuery (string), maxFacetHits (integer 1-100). |
| `search_rules` | Search (or list, with no query) the rules of an index. Optional: query (string), anchoring (is, startsWith, endsWith or contains), context (string, exact match), enabled (boolean: only enabled or only disabled rules), page (integer ≥ 0), hitsPerPage (integer 1-1000). |
| `search_synonyms` | Search (or list, with no query) the synonyms of an index. Optional: query (string), type (synonym, onewaysynonym, altcorrection1, altcorrection2 or placeholder), page (integer ≥ 0), hitsPerPage (integer 1-1000). |

## Write actions (4)

| Action | Description |
| - | - |
| `batch_objects` | Add or replace many records of one index in a single call (no deletion). Arguments: indexName (string), requests (array of 1-1000 objects \{action, body}: action is "addObject" (new record, objectID generated unless body has one) or "updateObject" (add or REPLACE the record whose body.objectID is given — required), body is the record object). Returns a taskID and the objectIDs. |
| `partial_update_object` | Add or update some top-level attributes of a record, leaving the others unchanged (a nested attribute is replaced whole). Arguments: indexName (string), objectID (string), attributes (object, e.g. \{"price": 25}), optional createIfNotExists (boolean, default true: creates the record if missing). Returns a taskID. |
| `save_object` | Add a record, or REPLACE the whole record if objectID already exists (attributes not sent are lost; use partial\_update\_object to change some attributes). Arguments: indexName (string), objectID (string), record (object: the record's attributes, e.g. \{"name": "Black T-shirt", "price": 20}). Creates the index if missing. Returns a taskID. |
| `update_settings` | Update some settings of an index; settings not sent are unchanged, and each list sent REPLACES the current one. Arguments: indexName (string), and at least one of: searchableAttributes (array of strings, priority order, e.g. \["title", "unordered(description)"]), attributesForFaceting (array of strings, e.g. \["brand", "searchable(category)", "filterOnly(price)"]), customRanking (array of strings, e.g. \["desc(popularity)", "asc(price)"]), ranking (array of strings: the ranking criteria in order, default \["typo", "geo", "words", "filters", "proximity", "attribute", "exact", "custom"]), attributesToRetrieve (array of strings), unretrievableAttributes (array of strings), hitsPerPage (integer 1-1000). Optional forwardToReplicas (boolean). Returns a taskID. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.