# Algolia

Algolia search: indexes, search, objects, settings, synonyms, rules, API keys. Exposes **38 actions** covering the API surface an agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `algolia_indexes_list` | List all indexes - GET /1/indexes. |
| `algolia_index_get` | Get index metadata - GET /1/indexes/&#123;indexName&#125;. |
| `algolia_index_create` | Create a new index - POST /1/indexes. |
| `algolia_index_delete` | Delete an index - DELETE /1/indexes/&#123;indexName&#125;. |
| `algolia_index_clear` | Clear all objects from an index - POST /1/indexes/&#123;indexName&#125;/clear. |
| `algolia_index_copy` | Copy/move an index - POST /1/indexes/&#123;indexName&#125;/operation. |
| `algolia_index_move` | Move an index - POST /1/indexes/&#123;indexName&#125;/operation. |
| `algolia_objects_add` | Add/save objects to an index - POST /1/indexes/&#123;indexName&#125;/objects. |
| `algolia_object_get` | Get one object from an index - GET /1/indexes/&#123;indexName&#125;/objects/&#123;objectID&#125;. |
| `algolia_object_update` | Update an object (full replacement) - PUT /1/indexes/&#123;indexName&#125;/objects/&#123;objectID&#125;. |
| `algolia_object_partial_update` | Partially update an object (merge) - POST /1/indexes/&#123;indexName&#125;/objects/&#123;objectID&#125;. |
| `algolia_object_delete` | Delete an object - DELETE /1/indexes/&#123;indexName&#125;/objects/&#123;objectID&#125;. |
| `algolia_objects_batch` | Batch operations on objects - POST /1/indexes/&#123;indexName&#125;/batch. |
| `algolia_objects_delete_by_query` | Delete objects matching a filter - POST /1/indexes/&#123;indexName&#125;/deleteByQuery. |
| `algolia_search` | Search an index - POST /1/indexes/&#123;indexName&#125;/query. |
| `algolia_multi_search` | Multi-search multiple indexes - POST /1/indexes/*/queries. |
| `algolia_browse` | Browse an index with cursor - POST /1/indexes/&#123;indexName&#125;/browse. |
| `algolia_settings_get` | Get index settings - GET /1/indexes/&#123;indexName&#125;/settings. |
| `algolia_settings_set` | Update index settings - PUT /1/indexes/&#123;indexName&#125;/settings. |
| `algolia_synonyms_list` | List synonyms - GET /1/indexes/&#123;indexName&#125;/synonyms. |
| `algolia_synonym_get` | Get one synonym - GET /1/indexes/&#123;indexName&#125;/synonyms/&#123;synonymID&#125;. |
| `algolia_synonym_create` | Create a synonym - POST /1/indexes/&#123;indexName&#125;/synonyms. |
| `algolia_synonym_update` | Update a synonym - PUT /1/indexes/&#123;indexName&#125;/synonyms/&#123;synonymID&#125;. |
| `algolia_synonym_delete` | Delete a synonym - DELETE /1/indexes/&#123;indexName&#125;/synonyms/&#123;synonymID&#125;. |
| `algolia_synonyms_clear` | Clear all synonyms from an index - POST /1/indexes/&#123;indexName&#125;/synonyms/clear. |
| `algolia_rules_list` | List query rules - GET /1/indexes/&#123;indexName&#125;/rules. |
| `algolia_rule_get` | Get one rule - GET /1/indexes/&#123;indexName&#125;/rules/&#123;ruleID&#125;. |
| `algolia_rule_create` | Create a query rule - POST /1/indexes/&#123;indexName&#125;/rules. |
| `algolia_rule_update` | Update a rule - PUT /1/indexes/&#123;indexName&#125;/rules/&#123;ruleID&#125;. |
| `algolia_rule_delete` | Delete a rule - DELETE /1/indexes/&#123;indexName&#125;/rules/&#123;ruleID&#125;. |
| `algolia_rules_clear` | Clear all rules from an index - POST /1/indexes/&#123;indexName&#125;/rules/clear. |
| `algolia_api_keys_list` | List API keys - GET /1/keys. |
| `algolia_api_key_get` | Get one API key - GET /1/keys/&#123;key&#125;. |
| `algolia_api_key_create` | Create an API key - POST /1/keys. |
| `algolia_api_key_update` | Update an API key - PUT /1/keys/&#123;key&#125;. |
| `algolia_api_key_delete` | Delete an API key - DELETE /1/keys/&#123;key&#125;. |
| `algolia_api_key_restore` | Restore a deleted API key - POST /1/keys/&#123;key&#125;/restore. |
| `algolia_logs_list` | List API logs - GET /1/logs. |

## How to get credentials

This connector uses an **API key / token**. Create one in the provider
dashboard, then paste it into FlyMyAI:

- **`ALGOLIA_APP_ID`** - Algolia Dashboard - Settings - API Keys - Application ID. (https://dashboard.algolia.com/account/api-keys/all)
- **`ALGOLIA_API_KEY`** - Admin API Key (write) from the same API Keys page.

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `ALGOLIA_APP_ID` | Algolia Dashboard - Settings - API Keys - Application ID. |
| `ALGOLIA_API_KEY` | Admin API Key (write) from the same API Keys page. |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the token is wrong, expired, or missing a required scope; regenerate it.
- **`429 Too Many Requests`** - provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [Algolia API documentation](https://www.algolia.com/doc/rest-api/search/)
