# Algolia

Algolia is a hosted search API that provides developers with tools to build fast and relevant search experiences for their applications.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 134
- **Triggers:** 0
- **Slug:** `ALGOLIA`
- **Version:** 20260316_00

## Tools

### Add AB Test

**Slug:** `ALGOLIA_ADD_AB_TEST`

Tool to create an A/B test comparing search performance between two index variants. Use when you need to test different search configurations, ranking strategies, or index settings and measure their impact on user behavior.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Descriptive name for the A/B test to identify it in the dashboard. |
| `endAt` | string | Yes | End date and time of the A/B test in RFC 3339 format (e.g., '2026-02-18T23:59:59Z'). Test will automatically stop at this time. |
| `region` | string | No | Algolia analytics API region. Valid values: 'us', 'de'. Defaults to 'de' (EU region). |
| `variants` | array | Yes | Exactly two variants to test. Traffic percentages must sum to 100. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add or Replace Record

**Slug:** `ALGOLIA_ADD_OR_REPLACE_RECORD`

Tool to add or replace a specific record in an index by objectID. If a record with the given objectID exists, it is replaced; otherwise, a new record is created. Use when you need to upsert an object with a known ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `record` | object | Yes | Record data to add or replace in the index. Can include any attributes. The objectID field in the record body is optional but should match the objectID parameter if provided. |
| `object_id` | string | Yes | Unique record identifier. If a record with this objectID exists, it will be replaced; otherwise, a new record is created. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Record to Index

**Slug:** `ALGOLIA_ADD_RECORD`

Tool to add a record to an index with auto-generated objectID. Records with matching IDs are replaced. Use when you need to insert a new object into an index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `record` | object | Yes | Record data to add to the index. Can include any attributes. If objectID is provided, it will be used; otherwise, one will be auto-generated. Records with matching IDs are replaced. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Browse Algolia Index

**Slug:** `ALGOLIA_BROWSE_INDEX`

Tool to retrieve all records from an index. Use when you need to export or iterate through an entire index dataset.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | No | Search query to filter records; empty or omitted returns all records. |
| `cursor` | string | No | Cursor to specify the starting point for the next batch of results. |
| `index_name` | string | Yes | Name of the Algolia index to browse. |
| `browse_parameters` | object | No | Additional browse parameters as key-value pairs (e.g., filters, hitsPerPage). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Objects

**Slug:** `ALGOLIA_CLEAR_OBJECTS`

Tool to clear records of an index without affecting settings. Use when you need to completely wipe all objects (e.g., after a bulk reindex) while preserving index configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index_name` | string | Yes | Name of the index from which to clear all records. |
| `request_options` | object | No | Optional mapping of request options (query parameters) as string values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Rules

**Slug:** `ALGOLIA_CLEAR_RULES`

Tool to delete all rules in an index. Use when you need to wipe all rules before re-creating them. Use after confirming no critical rules require retention.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index_name` | string | Yes | Name of the Algolia index from which to clear all rules. |
| `forwardToReplicas` | boolean | No | If true, also clears rules on all replica indices. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clear Synonyms

**Slug:** `ALGOLIA_CLEAR_SYNONYMS`

Tool to delete all synonyms from an index. Use when you need to remove all synonym definitions in one operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index_name` | string | Yes | Name of the index from which to clear all synonyms. |
| `forwardToReplicas` | boolean | No | Whether changes are applied to replica indices. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clicked Object IDs

**Slug:** `ALGOLIA_CLICKED_OBJECT_IDS`

Tool to send a click event to Algolia to capture clicked items. Use immediately after a user click outside of search contexts to report click events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `eventName` | string | Yes | Name of the specific event (1-64 ASCII printable characters). |
| `indexName` | string | Yes | Name of the Algolia index where the event occurred. |
| `objectIDs` | array | Yes | List of clicked object IDs (1-20 items). |
| `userToken` | string | Yes | Anonymous user identifier. Allowed chars: alphanumeric, '_', '=', '+', '/', '-'; length 1-129. |
| `authenticatedUserToken` | string | No | Pseudonymous identifier for authenticated users; same pattern as userToken. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clicked Object IDs After Search

**Slug:** `ALGOLIA_CLICKED_OBJECT_IDS_AFTER_SEARCH`

Tool to send a click event after a search response. Use when you want to report which items a user clicked in search results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index` | string | Yes | Name of the index where the click occurred. |
| `queryID` | string | Yes | queryID returned by Algolia Search API for the request. |
| `eventName` | string | Yes | Name for this click event, e.g. 'Product Clicked'. |
| `objectIDs` | array | Yes | List of objectIDs that were clicked. |
| `positions` | array | Yes | Positions (1-based) of clicked objects in the search results. Must be strictly positive integers. |
| `timestamp` | integer | No | Event timestamp in milliseconds since epoch. If omitted, server timestamp is used. |
| `userToken` | string | Yes | Unique token identifying the user, consistent across events. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Compute Realtime User Profile

**Slug:** `ALGOLIA_COMPUTE_REALTIME_USER`

Tool to compute a user's real-time personalization profile in Algolia. Use when you need to trigger calculation of personalization data for a specific user. Note: This endpoint is deprecated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | Yes | Unique pseudonymous or anonymous user identifier for which to compute the personalization profile. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Converted Object IDs

**Slug:** `ALGOLIA_CONVERTED_OBJECT_IDS`

Tool to send a conversion event for items outside of search context. Use when tracking conversions on category pages or external flows unrelated to Algolia search.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index` | string | Yes | Name of the Algolia index where conversion happened. |
| `eventName` | string | Yes | Name of the specific conversion event. 1–64 ASCII characters except control characters. |
| `objectIDs` | array | Yes | List of object IDs for items converted. Up to 20 IDs. |
| `timestamp` | integer | No | Event timestamp in milliseconds since epoch. If omitted, server timestamp is used. |
| `userToken` | string | Yes | Unique token identifying the user, e.g., 'user-123'. |
| `authenticatedUserToken` | string | No | Optional pseudonymous token for authenticated users. Never include PII. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy Index

**Slug:** `ALGOLIA_COPY_INDEX`

Tool to copy the specified index to a new index. Use when you need to duplicate an existing index including records, settings, synonyms, and rules after confirming source and destination names.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `scope` | array | No | Parts of the index to copy. Allowed values: 'settings', 'synonyms', 'rules'. If omitted, all parts (including records) are copied. If specified, records are not copied. |
| `index_name` | string | Yes | Name of the source index to copy. |
| `destination` | string | Yes | Name of the destination index to create. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create API Key

**Slug:** `ALGOLIA_CREATE_API_KEY`

Tool to create a new API key with specific permissions and restrictions. Use when you need to generate API keys with custom ACL permissions, index restrictions, rate limits, or expiration times.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `acl` | array | 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 list (ACL). |
| `indexes` | array | 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_*' matches all indices starting with 'dev_', '*_dev' matches all indices ending with '_dev', '*_products_*' matches all indices containing '_products_'. |
| `referers` | array | 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 with 'https://algolia.com/', '*.algolia.com' allows all referrers ending with '.algolia.com', '*algolia.com*' allows all referrers in the domain 'algolia.com'. Like all HTTP headers, referrers can be spoofed. Don't rely on them to secure your data. |
| `validity` | integer | No | Duration (in seconds) after which the API key expires. By default, API keys don't expire. |
| `description` | string | No | Description of an API key to help you identify this API key. |
| `maxHitsPerQuery` | integer | No | Maximum number of results this API key can retrieve in one query. By default, there's no limit. |
| `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 can provide a range of IP addresses. Creating an API key fails if the request is made from an IP address outside the restricted range. |
| `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 error with status code 429. By default, there's no limit. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Authentication

**Slug:** `ALGOLIA_CREATE_AUTHENTICATION`

Tool to create a new authentication resource in Algolia. Use when you need to set up authentication credentials for connecting to sources or destinations in the Algolia ingestion API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Descriptive name for the resource. |
| `type` | string ("googleServiceAccount" | "basic" | "apiKey" | "oauth" | "algolia" | "algoliaInsights" | "secrets") | Yes | Type of authentication. This determines the type of credentials required in the input object. |
| `input` | object | Yes | Authentication credentials object. The structure varies based on the authentication type. For 'basic' type: {username: str, password: str}. For 'googleServiceAccount' type: {clientEmail: str, privateKey: str}. For 'apiKey' type: {key: str}. For 'oauth' type: {url: str, client_id: str (optional), client_secret: str (optional), code: str (optional), scope: str (optional)}. For 'algolia' type: {appID: str, apiKey: str}. For 'algoliaInsights' type: {appID: str, apiKey: str}. For 'secrets' type: custom key-value pairs. |
| `platform` | string | No | Platform associated with this authentication. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Destination

**Slug:** `ALGOLIA_CREATE_DESTINATION`

Tool to create a new destination in Algolia Ingestion API. Use when you need to set up a new destination for data ingestion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Descriptive name for the resource. |
| `type` | string ("search" | "insights") | Yes | Destination type. 'search' means data is stored in an Algolia index. 'insights' means data is recorded as user events in the Insights API. |
| `input` | object | Yes | Input configuration for the destination. |
| `authenticationID` | string | Yes | Universally unique identifier (UUID) of an authentication resource. |
| `transformationIDs` | array | No | List of transformation IDs to associate with the destination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Ingestion Task

**Slug:** `ALGOLIA_CREATE_INGESTION_TASK`

Tool to create a new ingestion task connecting a source to a destination in Algolia. Use when you need to set up data synchronization between a source and an Algolia index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cron` | string | No | Cron expression for the task's schedule. Use standard cron syntax to define when the task should run automatically. |
| `input` | object | No | Configuration of the task input, depending on its type. Structure varies: for streaming input use 'mapping' object, for docker streams use 'streams' array, for Shopify use 'metafields' array and 'market' object. |
| `action` | string ("replace" | "save" | "partial" | "partialNoCreate" | "append") | Yes | Action to perform on the Algolia index. Defines how records are updated: 'replace' replaces all records, 'save' adds or updates records, 'partial' updates specific attributes, 'partialNoCreate' updates without creating, 'append' adds new records. |
| `cursor` | string | No | Date and time when the last cursor was created, in RFC 3339 format. Used for incremental data synchronization. |
| `enabled` | boolean | No | Whether the task is enabled. If false, the task will not run automatically even if scheduled. |
| `policies` | object | No | Set of rules for a task. |
| `sourceID` | string | Yes | Universally unique identifier (UUID) of a source resource. |
| `destinationID` | string | Yes | Universally unique identifier (UUID) of a destination resource. |
| `notifications` | object | No | Notification settings for a task. |
| `failureThreshold` | integer | No | Maximum accepted percentage of failures for a task run to finish successfully. Task will fail if failure rate exceeds this threshold. |
| `subscriptionAction` | string ("replace" | "save" | "partial" | "partialNoCreate" | "append") | No | Action to perform on the Algolia index. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create or Update Recommend Rules

**Slug:** `ALGOLIA_CREATE_OR_UPDATE_RECOMMEND_RULES`

Tool to create or update a batch of Recommend Rules in an index. Use when you need to add or modify multiple rules at once for a recommendation model. Each rule is created or updated depending on whether a rule with the same objectID already exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string ("related-products" | "bought-together" | "trending-facets" | "trending-items") | Yes | Recommend model (related-products, bought-together, trending-facets, or trending-items). |
| `rules` | array | Yes | List of Recommend rules to create or update. Each rule is created or updated based on whether a rule with the same objectID already exists. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Query Suggestions Config

**Slug:** `ALGOLIA_CREATE_QS_CONFIG`

Tool to create a new Query Suggestions configuration for an Algolia index. Use when you need to set up query suggestions to help users discover popular searches. Up to 100 configurations per application are supported.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string ("us" | "eu") | No | Analytics region for your Algolia application (us or eu). Must match your application's analytics region configured in the Algolia dashboard under Infrastructure > Analytics |
| `exclude` | array | No | List of words or regular expressions to exclude from query suggestions |
| `indexName` | string | Yes | Name of the Query Suggestions index to create. This will be the destination index for generated suggestions |
| `languages` | string | No | Languages for deduplicating singular/plural suggestions. Set to true to enable for all languages, or provide an array of specific language codes (e.g., ['en', 'fr']) |
| `sourceIndices` | array | Yes | Array of source index configurations to use for generating query suggestions. At least one source index is required |
| `enablePersonalization` | boolean | No | Whether to enable personalized query suggestions based on user behavior. Default is false |
| `allowSpecialCharacters` | boolean | No | Whether to include suggestions with special characters. Default is false |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Source

**Slug:** `ALGOLIA_CREATE_SOURCE`

Tool to create a new data source in Algolia Ingestion API. Use when you need to set up a new source for data ingestion from external platforms or custom data feeds.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Descriptive name for the source. |
| `type` | string ("bigcommerce" | "bigquery" | "commercetools" | "csv" | "docker" | "ga4BigqueryExport" | "json" | "shopify" | "push") | Yes | Type of data source to create. Options: bigcommerce, bigquery, commercetools, csv, docker, ga4BigqueryExport, json, shopify, push. The 'push' type is for sources where data is pushed directly via API. |
| `input` | object | No | Input configuration for the source. Structure varies based on source type. For 'commercetools': {url: str (required), projectKey: str (required), locales: list (optional), storeKeys: list (optional), customFields: dict (optional), fallbackIsInStockValue: bool (optional), productQueryPredicate: str (optional), useImagesObjects: bool (optional)}. For 'bigcommerce': {storeHash: str (required), channel: dict (optional), customFields: list (optional), productMetafields: list (optional), variantMetafields: list (optional)}. For 'json': {url: str (required), method: str (optional), uniqueIDColumn: str (optional)}. For 'csv': {url: str (required), delimiter: str (optional), method: str (optional), uniqueIDColumn: str (optional), mapping: dict (optional)}. For 'bigquery': {projectID: str (required), datasetID: str (required), table: str (optional), tablePrefix: str (optional), customSQLRequest: str (optional), dataType: str (optional), uniqueIDColumn: str (optional)}. For 'ga4BigqueryExport': {projectID: str (required), datasetID: str (required), tablePrefix: str (required)}. For 'docker': {image: str (required), configuration: dict (required)}. For 'push': no input required or empty object. |
| `region` | string | No | Region for the Algolia Ingestion API endpoint. The API will be called at https://data.{region}.algolia.com. Valid values: 'us', 'eu'. |
| `authenticationID` | string | No | Universally unique identifier (UUID) of an authentication resource. Required for most source types except 'push'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Transformation

**Slug:** `ALGOLIA_CREATE_TRANSFORMATION`

Tool to create a new transformation in Algolia Ingestion API. Use when you need to set up data transformations for enriching or modifying records during ingestion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The uniquely identified name of your transformation. |
| `type` | string ("code" | "noCode") | Yes | The type of transformation: 'code' for JavaScript code transformations, or 'noCode' for visual no-code transformations. |
| `input` | object | Yes | The input for the transformation. For 'code' type, provide a 'code' field with JavaScript. For 'noCode' type, provide a 'steps' field with the transformation steps. |
| `description` | string | No | A descriptive name for your transformation explaining what it does. |
| `authenticationIDs` | array | No | The authentications (UUIDs) associated with the transformation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete AB Test

**Slug:** `ALGOLIA_DELETE_AB_TEST`

Tool to delete an A/B test by its unique identifier. Use when you need to permanently remove an A/B test configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique A/B test identifier. |
| `region` | string | No | Algolia analytics API region. Valid values: 'us', 'de'. Defaults to 'de' (EU region). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete API Key

**Slug:** `ALGOLIA_DELETE_API_KEY`

Tool to delete an API key. Use when you need to revoke or remove an existing API key from your Algolia application.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | API key to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Authentication

**Slug:** `ALGOLIA_DELETE_AUTHENTICATION`

Tool to delete an authentication resource from Algolia. Use when you need to remove an existing authentication resource by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `authenticationID` | string | Yes | Unique identifier of an authentication resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Query Suggestions Config

**Slug:** `ALGOLIA_DELETE_CONFIG`

Tool to delete a Query Suggestions configuration for the specified index. Use when you need to remove a Query Suggestions configuration permanently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index_name` | string | Yes | Query Suggestions index name to delete the configuration for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Destination

**Slug:** `ALGOLIA_DELETE_DESTINATION`

Tool to delete a destination in Algolia Ingestion API. Use when you need to permanently remove a destination by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `destination_id` | string | Yes | Unique identifier of the destination to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Index

**Slug:** `ALGOLIA_DELETE_INDEX`

Tool to delete the specified index and all its records. Use when you need to permanently remove an index after confirming it's no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index_name` | string | Yes | The name of the index to be deleted |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Multiple Records

**Slug:** `ALGOLIA_DELETE_OBJECTS`

Tool to delete multiple records from an Algolia index. Use when you need to remove multiple objects by their IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index_name` | string | Yes | Name of the index from which to delete records. |
| `object_ids` | array | Yes | List of objectIDs to delete. |
| `request_options` | object | No | Optional mapping of request options (query parameters) as string values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Recommend Rule

**Slug:** `ALGOLIA_DELETE_RECOMMEND_RULE`

Tool to delete a Recommend rule from a recommendation scenario. Use when you need to remove a specific rule from an index's recommend model.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string ("related-products" | "bought-together" | "trending-facets" | "trending-items") | Yes | Recommend model for the recommendation scenario. |
| `object_id` | string | Yes | Unique record identifier of the rule to delete. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Records by Filter

**Slug:** `ALGOLIA_DELETE_RECORDS_BY_FILTER`

Tool to delete records matching a filter from an Algolia index. Use when you need to remove multiple records based on filter criteria (e.g., category, tags, numeric ranges). This is a resource-intensive operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filters` | string | No | Filter expression to only include items that match the filter criteria. Supports numeric filters (<, <=, =, !=, >, >=), ranges (facet:lower TO upper), facet filters (facet:value), tag filters (_tags:value), and boolean filters (facet: true \| false). Combine filters with AND, OR, and NOT operators. Example: '(category:Book OR category:Ebook) AND _tags:published' |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |
| `tag_filters` | string | No | Filter by values of the special '_tags' attribute (deprecated, prefer using 'filters' parameter). Same combination rules apply as for facet_filters. |
| `around_radius` | string | No | Maximum radius for a search around a central location. Works with around_lat_lng parameter. Can be an integer (meters) or 'all'. |
| `facet_filters` | string | No | Filter by facet values (deprecated, prefer using 'filters' parameter). Format: [filter1, filter2] is AND, [[filter1, filter2], filter3] is (filter1 OR filter2) AND filter3. |
| `around_lat_lng` | string | No | Coordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude. Only records within a circle around this location are included. Example: '40.71,-74.01' |
| `inside_polygon` | array | No | Coordinates of a polygon in which to search. Each polygon is defined by 3 to 10,000 points (latitude, longitude pairs). |
| `numeric_filters` | string | No | Filter by numeric facets (deprecated, prefer using 'filters' parameter). Supports comparison operators: <, <=, =, !=, >, >= and ranges (facet:lower TO upper). |
| `request_options` | object | No | Optional mapping of request options (query parameters) as string values. |
| `inside_bounding_box` | string | No | Coordinates of a rectangle in which to search. Format: 'lat1,lng1,lat2,lng2' or nested arrays for multiple boxes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Rule

**Slug:** `ALGOLIA_DELETE_RULE`

Tool to delete the specified rule from an index. Use when you need to permanently remove a rule after confirming its objectID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `object_id` | string | Yes | Unique identifier of the rule to delete. |
| `index_name` | string | Yes | Name of the Algolia index from which to delete the rule. |
| `forward_to_replicas` | boolean | No | Whether to forward this deletion to replica indices. If false (default), only the specified index is affected. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Source

**Slug:** `ALGOLIA_DELETE_SOURCE`

Tool to delete a source from the Algolia Ingestion API. Use when you need to permanently remove a source after confirming it's no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sourceID` | string | Yes | Unique identifier of the source to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Synonym

**Slug:** `ALGOLIA_DELETE_SYNONYM`

Tool to delete a synonym from a specified index. Use when you need to remove an existing synonym by its objectID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `object_id` | string | Yes | ObjectID of the synonym to delete. |
| `index_name` | string | Yes | Name of the Algolia index from which to delete the synonym. |
| `forward_to_replicas` | boolean | No | Whether to forward this deletion to all replica indices. If false (default), only the specified index is affected. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Transformation

**Slug:** `ALGOLIA_DELETE_TRANSFORMATION`

Tool to delete a transformation in Algolia Ingestion API. Use when you need to permanently remove a transformation by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `transformation_id` | string | Yes | Unique identifier of the transformation to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Profile

**Slug:** `ALGOLIA_DELETE_USER_PROFILE`

Tool to delete a user profile from personalization. Use when you need to remove a user's personalization data and reset their profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | Yes | Unique identifier representing a user for which to fetch the personalization profile. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User Token

**Slug:** `ALGOLIA_DELETE_USER_TOKEN`

Tool to delete all events related to a user token from events metrics and analytics. Use when removing user data from Algolia Insights.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | Yes | User token for which to delete all associated events. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Disable Task V1

**Slug:** `ALGOLIA_DISABLE_TASK_V1`

Tool to disable a task V1 in Algolia Ingestion API. Use when you need to disable a specific task. Note: This API is deprecated but still functional.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string | No | Algolia ingestion API region. Valid values: 'us', 'eu'. |
| `taskID` | string | Yes | Unique identifier of a task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enable Task V1

**Slug:** `ALGOLIA_ENABLE_TASK_V1`

Tool to enable a task V1 in Algolia Ingestion API. Use when you need to activate a previously disabled task. Note: This API is deprecated but still functional.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string | No | Algolia ingestion API region. Valid values: 'us', 'eu', 'de'. |
| `taskID` | string | Yes | Unique identifier of a task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch Operations on Multiple Indices

**Slug:** `ALGOLIA_EXECUTE_BATCH_ON_MULTIPLE_INDICES`

Tool to perform batch operations (add, update, delete) across multiple Algolia indices in a single request. Use when you need to modify records in different indices efficiently. Each operation specifies its target index and action type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | Array of batch operations. Each operation specifies action, indexName, and body. All operations are executed in a single API call for efficiency. Must contain at least one operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Rules

**Slug:** `ALGOLIA_EXPORT_RULES`

Tool to export all rules defined on an index. Use when you need to backup or migrate index rules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Page number to fetch (as a string); omit or set to '0' to start from the beginning. Use the cursor value from a previous response to fetch the next page. |
| `index_name` | string | Yes | Name of the Algolia index to export rules from |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Object

**Slug:** `ALGOLIA_FIND_OBJECT`

Tool to find the first object matching a query or filter in an index. Use when debugging relevance or filter logic after confirming index exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | No | Query string to search for. If omitted, only filters are applied. Values must match the form stored in the index; URLs or other transformed values (e.g., cleaned paths, derived IDs) may be stored in a normalized form that differs from the raw input. |
| `filters` | object | No | Additional Algolia search parameters as key-value pairs. Supports 'filters' (string with syntax like 'category:Book AND price<100'), 'facetFilters', 'numericFilters', 'hitsPerPage', etc. |
| `paginate` | boolean | No | If True, searches across all pages until an object is found. If False, only searches the first page. Defaults to False. |
| `index_name` | string | Yes | Name of the Algolia index to search (e.g., 'products'). |
| `attributesToRetrieve` | array | No | List of attributes to retrieve in the result. If omitted, all attributes are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get A/B Test

**Slug:** `ALGOLIA_GET_AB_TEST`

Tool to retrieve detailed information about an A/B test by its ID. Use when you need to check A/B test status, performance metrics, or configuration details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique A/B test identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Add to Cart Rate

**Slug:** `ALGOLIA_GET_ADD_TO_CART_RATE`

Tool to retrieve add-to-cart rate metrics for e-commerce search analytics. Use when you need to analyze conversion effectiveness and user purchasing behavior for an index, including daily breakdowns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve add-to-cart rate for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Key

**Slug:** `ALGOLIA_GET_API_KEY`

Tool to retrieve the permissions and details of a specific API key. Use when you need to inspect an API key's ACL, restrictions, or other settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The API key to retrieve. This is the key value (not the key ID). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get App Task Status

**Slug:** `ALGOLIA_GET_APP_TASK`

Tool to check the status of an application task. Use when you need to verify if a task has completed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taskID` | integer | Yes | Unique task identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Authentication

**Slug:** `ALGOLIA_GET_AUTHENTICATION`

Tool to retrieve an authentication resource by its ID. Use when you need to fetch details about a specific authentication configuration in Algolia's ingestion API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string | No | Algolia ingestion API region. Valid values: 'us', 'eu'. |
| `authentication_id` | string | Yes | Unique identifier (UUID) of an authentication resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Average Click Position

**Slug:** `ALGOLIA_GET_AVERAGE_CLICK_POSITION`

Tool to retrieve average click position metrics from Algolia Analytics. Use when analyzing user engagement and click behavior for search results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia documentation on segmenting analytics data. |
| `index` | string | Yes | Name of the Algolia index to retrieve click position metrics for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Click Positions

**Slug:** `ALGOLIA_GET_CLICK_POSITIONS`

Tool to retrieve the distribution of clicks by position from Algolia Analytics. Use when analyzing which search result positions receive the most user engagement.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia documentation on segmenting analytics data. |
| `index` | string | Yes | Name of the Algolia index to retrieve click position metrics for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Click Through Rate

**Slug:** `ALGOLIA_GET_CLICK_THROUGH_RATE`

Tool to retrieve click-through rate (CTR) for searches with at least one click event. Use when you need to analyze search effectiveness and user engagement metrics for an index, including daily breakdowns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve click-through rate for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Query Suggestions Config

**Slug:** `ALGOLIA_GET_CONFIG`

Tool to retrieve a Query Suggestions configuration by index name. Use when you need to inspect or verify Query Suggestions settings for a specific index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string ("us" | "eu") | No | Analytics region for your Algolia application (us or eu). Check your region in the Algolia dashboard at account/infrastructure/analytics |
| `indexName` | string | Yes | Query Suggestions index name to retrieve the configuration for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Personalization Config

**Slug:** `ALGOLIA_GET_CONFIG2`

Tool to retrieve the advanced personalization configuration. Use when you need to check personalization settings, re-ranking impact levels, or profile types for your Algolia application.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Conversion Rate

**Slug:** `ALGOLIA_GET_CONVERSION_RATE`

Tool to retrieve conversion rate for searches with conversion events. Use when you need to analyze conversion effectiveness and user behavior metrics for an index, including daily breakdowns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve conversion rate for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Destination

**Slug:** `ALGOLIA_GET_DESTINATION`

Tool to retrieve a destination by its ID. Use when you need to get details about a specific Algolia destination resource.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `destinationID` | string | Yes | Unique identifier of the destination to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Dictionary Languages

**Slug:** `ALGOLIA_GET_DICTIONARY_LANGUAGES`

Tool to list available languages for dictionary entries. Use when you need to check which languages support custom dictionary entries (plurals, stopwords, compounds).

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Dictionary Settings

**Slug:** `ALGOLIA_GET_DICTIONARY_SETTINGS`

Tool to retrieve dictionary settings for all dictionaries. Use when you need to check which standard dictionary entries are disabled across different languages.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Logs

**Slug:** `ALGOLIA_GET_LOGS`

Tool to retrieve log entries for API requests made to your Algolia application. Use when you need to debug issues, monitor API usage, or analyze search patterns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("all" | "query" | "build" | "error") | No | Type of log entries to retrieve. |
| `length` | integer | No | Maximum number of log entries to retrieve. Algolia limits the maximum length per request. |
| `offset` | integer | No | First log entry to retrieve. The most recent entries are listed first. Use this for pagination to skip earlier entries. |
| `indexName` | string | No | Index for which to retrieve log entries. By default, log entries are retrieved for all indices. Specify an index name to filter logs for a specific index. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get No Click Rate

**Slug:** `ALGOLIA_GET_NO_CLICK_RATE`

Tool to retrieve the rate of searches that received no clicks. Use when you need to analyze search effectiveness and identify queries where users didn't engage with any results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve no-click rate for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get No Results Rate

**Slug:** `ALGOLIA_GET_NO_RESULTS_RATE`

Tool to retrieve the fraction of searches that didn't return any results. Use when you need to analyze search effectiveness and identify queries that fail to return results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve no results rate for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get No Results Searches

**Slug:** `ALGOLIA_GET_NO_RESULTS_SEARCHES`

Tool to retrieve the most frequent searches that produced zero results. Use when analyzing search gaps or identifying content opportunities to improve search experience.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve no-results searches for. |
| `limit` | integer | No | Number of items to return. |
| `offset` | integer | No | Position of the first item to return. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Object Position

**Slug:** `ALGOLIA_GET_OBJECT_POSITION`

Tool to retrieve an object’s position in a result set. Use when debugging relevance after performing a search query.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `results` | object | Yes | Full JSON response from a previous Algolia search, containing the 'hits' list. |
| `object_id` | string | Yes | The objectID of the record to locate in the results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get multiple objects

**Slug:** `ALGOLIA_GET_OBJECTS`

Tool to retrieve multiple records from an index. Use when you need to batch-fetch several objectIDs in one call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | Array of sub-requests, each with indexName and objectID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Purchase Rate

**Slug:** `ALGOLIA_GET_PURCHASE_RATE`

Tool to retrieve purchase rate metrics for searches that led to purchase events. Use when you need to analyze conversion effectiveness and purchase behavior for an index, including daily breakdowns.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve purchase rate for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Recommend Rule

**Slug:** `ALGOLIA_GET_RECOMMEND_RULE`

Tool to retrieve a Recommend rule that was previously created in the Algolia dashboard. Use when you need to inspect a specific rule's configuration, conditions, or consequences by its objectID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string ("related-products" | "bought-together" | "trending-facets" | "trending-items") | Yes | Recommend model type (related-products, bought-together, trending-facets, or trending-items). |
| `object_id` | string | Yes | Unique record identifier of the rule to retrieve. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Recommend Task Status

**Slug:** `ALGOLIA_GET_RECOMMEND_TASK_STATUS`

Tool to check the status of a Recommend task. Use when you need to verify if an asynchronous Recommend operation (such as deleting a Recommend rule) has completed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string ("related-products" | "bought-together" | "trending-facets" | "trending-items") | Yes | Recommend model to check task status for. Must be one of: related-products, bought-together, trending-facets, or trending-items. |
| `task_id` | integer | Yes | Unique task identifier returned from a previous Recommend operation (e.g., batch recommend rules). |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Record from Index

**Slug:** `ALGOLIA_GET_RECORD`

Tool to retrieve a specific record from an index by its objectID. Use when you need to fetch a single object's details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `object_id` | string | Yes | Unique record identifier. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |
| `attributes_to_retrieve` | array | 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. Attributes included in `unretrievableAttributes` won't be retrieved unless the request is authenticated with the admin API key. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Revenue

**Slug:** `ALGOLIA_GET_REVENUE`

Tool to retrieve revenue data from Algolia Analytics. Use when analyzing revenue metrics and conversion tracking for search results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia documentation on segmenting analytics data. |
| `index` | string | Yes | Index name to retrieve revenue data for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Rule

**Slug:** `ALGOLIA_GET_RULE`

Tool to retrieve a specific rule by its objectID from an index. Use when you need to inspect a rule's configuration, conditions, and consequences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `object_id` | string | Yes | Unique identifier of the rule to retrieve. |
| `index_name` | string | Yes | Name of the Algolia index to retrieve the rule from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Searches Count

**Slug:** `ALGOLIA_GET_SEARCHES_COUNT`

Tool to retrieve the number of searches within a time range, including a daily breakdown. Use when analyzing search volume and traffic patterns for an index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve searches count for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Searches No Clicks

**Slug:** `ALGOLIA_GET_SEARCHES_NO_CLICKS`

Tool to retrieve top searches that did not receive any clicks. Use when analyzing search queries that may need optimization, such as queries with poor results or missing content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve no-click searches for. |
| `limit` | integer | No | Number of items to return. |
| `offset` | integer | No | Position of the first item to return. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Index Settings

**Slug:** `ALGOLIA_GET_SETTINGS`

Tool to retrieve the settings of a specified index. Use when you need to inspect index configurations after creation or update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `indexName` | string | Yes | Name of the index whose settings are being retrieved |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Source

**Slug:** `ALGOLIA_GET_SOURCE`

Tool to retrieve a source from the Algolia Ingestion API. Use when you need to get details about a specific data source by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string | No | Region for the Algolia Ingestion API endpoint (e.g., 'us', 'eu'). The API will be called at https://data.{region}.algolia.com |
| `sourceID` | string | Yes | Unique identifier of the source to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Synonym

**Slug:** `ALGOLIA_GET_SYNONYM`

Tool to retrieve a specific synonym by its objectID. Use when you need to fetch details of an existing synonym from an index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `object_id` | string | Yes | Unique identifier of a synonym object. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task Status

**Slug:** `ALGOLIA_GET_TASK_STATUS`

Tool to check the status of an asynchronous task. Use when you need to verify completion of operations like adding or deleting records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | Yes | Unique task identifier. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Task V1

**Slug:** `ALGOLIA_GET_TASK_V1`

Tool to retrieve a task V1 from Algolia Ingestion API. Use when you need to fetch details about a specific task. Note: This API is deprecated but still functional.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taskID` | string | Yes | Unique identifier of a task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Top Countries

**Slug:** `ALGOLIA_GET_TOP_COUNTRIES`

Tool to retrieve top countries by search volume for a specified index. Use when you need to analyze geographic distribution of searches and understand where your users are searching from.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve top countries for. |
| `limit` | integer | No | Number of items to return. |
| `offset` | integer | No | Position of the first item to return. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Top Filter Attributes

**Slug:** `ALGOLIA_GET_TOP_FILTER_ATTRIBUTES`

Tool to retrieve top filter attributes from Algolia Analytics. Use when analyzing which filters are most commonly used by users in searches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia documentation on segmenting analytics data. |
| `index` | string | Yes | Name of the Algolia index to retrieve filter attributes for. |
| `limit` | integer | No | Number of items to return. |
| `offset` | integer | No | Position of the first item to return. |
| `search` | string | No | Search query to filter results. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Top Filter For Attribute

**Slug:** `ALGOLIA_GET_TOP_FILTER_FOR_ATTRIBUTE`

Tool to retrieve top filter values for a specific attribute from Algolia Analytics. Use when analyzing which filter values are most commonly used for a given attribute in search queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia documentation on segmenting analytics data. |
| `index` | string | Yes | Index name to retrieve filter values from. |
| `limit` | integer | No | Number of items to return. Default is 10. |
| `offset` | integer | No | Position of the first item to return. Default is 0. |
| `search` | string | No | Search query to filter results. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `attribute` | string | Yes | Attribute name to retrieve top filter values for. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Top Filters No Results

**Slug:** `ALGOLIA_GET_TOP_FILTERS_NO_RESULTS`

Tool to retrieve top filters for searches that returned no results from Algolia Analytics. Use when analyzing which filters are commonly applied to searches that yield zero results, helping identify potential catalog or filtering issues.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's segment documentation. |
| `index` | string | Yes | Index name to retrieve top filters for searches with no results. |
| `limit` | integer | No | Number of items to return. |
| `offset` | integer | No | Position of the first item to return. |
| `search` | string | No | Search query string to filter results. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Top Hits

**Slug:** `ALGOLIA_GET_TOP_HITS`

Tool to retrieve the object IDs of the most frequent search results from Algolia Analytics. Returns up to 1,000 top hits ranked by frequency, optionally including click analytics (CTR, conversion rates) and revenue metrics. Use when analyzing which results appear most often in searches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's documentation on segmenting analytics data. |
| `index` | string | Yes | Index name to retrieve top hits for. |
| `limit` | integer | No | Number of items to return. Default is 10, maximum is 1000. |
| `offset` | integer | No | Position of the first item to return. Default is 0. |
| `search` | string | No | Search query to filter top hits. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |
| `clickAnalytics` | boolean | No | Whether to include metrics related to click and conversion events in the response. When true, adds click-through rate, conversion rate, and related metrics. |
| `revenueAnalytics` | boolean | No | Whether to include metrics related to revenue events in the response. When true, adds add-to-cart rate, purchase rate, and revenue metrics. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Top Searches

**Slug:** `ALGOLIA_GET_TOP_SEARCHES`

Tool to retrieve the most popular searches from Algolia Analytics. Returns search queries ranked by frequency, optionally including click analytics (CTR, conversion rates) and revenue metrics. Use when analyzing search behavior and identifying trending queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's documentation on segmenting analytics data. |
| `index` | string | Yes | Index name to retrieve top searches for. |
| `limit` | integer | No | Number of items to return. Default is 10. |
| `offset` | integer | No | Position of the first item to return. Default is 0. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. |
| `orderBy` | string ("searchCount" | "clickThroughRate" | "conversionRate" | "averageClickPosition") | No | Attribute by which to order the response items. |
| `direction` | string ("asc" | "desc") | No | Sorting direction of the results. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. |
| `clickAnalytics` | boolean | No | Whether to include metrics related to click and conversion events in the response. When true, adds click-through rate, conversion rate, and click position metrics. |
| `revenueAnalytics` | boolean | No | Whether to include metrics related to revenue events in the response. When true, adds add-to-cart rate, purchase rate, and revenue metrics. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Transformation

**Slug:** `ALGOLIA_GET_TRANSFORMATION`

Tool to retrieve a transformation by its ID from Algolia's Ingestion API. Use when you need to fetch details about a specific transformation including its code, configuration, and metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string | No | Algolia ingestion API region. Valid values: 'us', 'eu'. |
| `transformationID` | string | Yes | Unique identifier (UUID) of the transformation to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Usage Statistics

**Slug:** `ALGOLIA_GET_USAGE`

Tool to retrieve Algolia usage statistics over a specified time period. Use when you need to analyze search operations, indexing operations, capacity metrics, or other usage data for an Algolia application. Requires Premium plan or Enterprise add-on access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endDate` | string | Yes | End date for the statistics period in ISO 8601 timestamp format. Must be in format: YYYY-MM-DDTHH:MM:SS.sssZ (e.g., '2026-02-12T23:59:59.999Z'). Required parameter for all usage queries. |
| `startDate` | string | Yes | Start date for the statistics period in ISO 8601 timestamp format. Must be in format: YYYY-MM-DDTHH:MM:SS.sssZ (e.g., '2026-02-05T00:00:00.000Z'). Required parameter for all usage queries. |
| `statistic` | string | Yes | Type of statistic to retrieve. Can be a single metric or comma-separated list of metrics. Common metrics include: 'search_operations', 'total_search_requests', 'queries_operations', 'multi_queries_operations', 'records', 'data_size', 'file_size', 'max_qps', 'used_search_capacity', 'avg_processing_time', '90p_processing_time', '99p_processing_time'. Use '*' to retrieve all available metrics grouped by category. |
| `granularity` | string | No | Time granularity for the statistics. Must be either 'hourly' (max 7 days range) or 'daily' (max 365 days range). Defaults to 'daily' if not specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Usage for Index

**Slug:** `ALGOLIA_GET_USAGE_FOR_INDEX`

Tool to retrieve usage statistics for a specific Algolia index over a time period. Use when you need to analyze index metrics such as record counts, query volumes, processing times, or capacity usage. Supports both hourly and daily aggregation granularity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endDate` | string | Yes | Upper bound timestamp in ISO 8601 format (e.g., '2026-02-12T23:59:59Z'). Defines the end of the time period for which to retrieve statistics. |
| `indexName` | string | Yes | The name of the index for which to retrieve usage statistics. |
| `startDate` | string | Yes | Lower bound timestamp in ISO 8601 format (e.g., '2026-01-13T00:00:00Z'). Defines the start of the time period for which to retrieve statistics. |
| `statistic` | string | Yes | One or more comma-separated metric names to retrieve. Valid values include: queries_operations, records, data_size, avg_processing_time, 90p_processing_time, 99p_processing_time, multi_queries_operations, acl_operations, total_synonym_operations, total_rules_operations, max_qps, region_max_qps, degraded_queries_ssd_used_queries_impact, used_search_capacity, and more. Multiple statistics can be requested by separating them with commas (e.g., 'records,avg_processing_time'). |
| `granularity` | string ("hourly" | "daily") | No | Granularity of usage data aggregation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Users

**Slug:** `ALGOLIA_GET_USERS`

Tool to retrieve a list of user profiles from Algolia advanced personalization. Use when you need to fetch user affinities, filter by date ranges, or paginate through user data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Limit the number of users in the response. The value of this parameter ranges from 1 to 1000. |
| `endDate` | string | No | Filter users by end date and time, in RFC 3339 format. Only users that were updated before this date will be returned. |
| `indices` | array | No | Filter users by matching indices. If multiple indices are passed, returned users will match all indices. |
| `affinity` | array | No | Filter users by affinity name and value. If multiple values are passed, returned users will match all values. |
| `startDate` | string | No | Filter users by start date and time, in RFC 3339 format. Only users that were updated after this date will be returned. |
| `nextPageToken` | string | No | Reference for the next page, when navigating forward using pagination. Can't be used in the same request as previousPageToken. |
| `previousPageToken` | string | No | Reference for the previous page, when navigating backward using pagination. Can't be used in the same request as nextPageToken. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Users Count

**Slug:** `ALGOLIA_GET_USERS_COUNT`

Tool to retrieve the number of unique users within a time range, including daily breakdown. Use when you need to analyze user engagement metrics for a specific index over a date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Tags by which to segment the analytics. You can combine multiple tags with OR and AND. Tags must be URL-encoded. For more information, see Algolia's documentation on segment analytics data. |
| `index` | string | Yes | Index name to retrieve user count for. |
| `endDate` | string | No | End date of the period to analyze, in YYYY-MM-DD format. If omitted, defaults to current date. |
| `startDate` | string | No | Start date of the period to analyze, in YYYY-MM-DD format. If omitted, defaults to 30 days before current date. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Index Exists

**Slug:** `ALGOLIA_INDEX_EXISTS`

Tool to check if an Algolia index exists. Use before performing index operations to prevent accidental index creation. Results are scoped to the Algolia app ID configured in the Composio connection. Example: IndexExists(index_name='products').

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `index_name` | string | Yes | Name of the Algolia index to check (e.g., 'products') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Init Insights API Client

**Slug:** `ALGOLIA_INIT_INSIGHTS`

Tool to initialize the Algolia Insights API client. Use before sending any Insights events.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string ("us" | "eu") | No | Insights API endpoint region: 'us' for insights.algolia.io or 'eu' for insights.eu.algolia.com. |
| `store_in_cookie` | boolean | No | Whether to store the userToken in a cookie for subsequent calls. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List AB Tests

**Slug:** `ALGOLIA_LIST_AB_TESTS`

Tool to list all A/B tests configured for this application. Use when you need to view existing A/B tests, check their status, or retrieve test IDs for further operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of items to return. Maximum is 1000. |
| `offset` | integer | No | Position of the first item to return. Use for pagination. |
| `indexPrefix` | string | No | Index name prefix. Only A/B tests for indices starting with this string are included in the response. |
| `indexSuffix` | string | No | Index name suffix. Only A/B tests for indices ending with this string are included in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List API Keys

**Slug:** `ALGOLIA_LIST_API_KEYS`

Tool to list all API keys associated with your Algolia application, including their permissions and restrictions. Use when you need to audit API key usage, check permissions, or manage access control.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Authentications

**Slug:** `ALGOLIA_LIST_AUTHENTICATIONS`

Tool to list authentication resources from Algolia. Use when you need to retrieve available authentication configurations for sources or destinations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of the paginated API response. Must be at least 1. |
| `sort` | string ("name" | "type" | "platform" | "updatedAt" | "createdAt") | No | Sort field options for listing authentications. |
| `type` | array | No | Type of authentication resource to retrieve. Can include multiple types such as 'basic', 'oauth', etc. |
| `order` | string ("asc" | "desc") | No | Sort order options. |
| `platform` | array | No | Ecommerce platform for which to retrieve authentications. Can include multiple platforms such as 'commercetools', 'none', etc. |
| `itemsPerPage` | integer | No | Number of items per page. Must be between 1 and 100. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Destinations

**Slug:** `ALGOLIA_LIST_DESTINATIONS`

Tool to list destinations in Algolia. Use when you need to retrieve all destinations or filter them by type, authentication ID, or transformation ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of the paginated API response. |
| `sort` | string ("name" | "type" | "updatedAt" | "createdAt") | No | Enum for sort properties. |
| `type` | array | No | Destination type to filter by. Can specify multiple types. |
| `order` | string ("asc" | "desc") | No | Enum for sort order. |
| `itemsPerPage` | integer | No | Number of items per page. |
| `authenticationID` | array | No | Authentication ID used by destinations. Can specify multiple IDs. |
| `transformationID` | string | No | Get the list of destinations used by a transformation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Indices

**Slug:** `ALGOLIA_LIST_INDICES`

Tool to list all indices and their metadata. Use when you need to retrieve index names, sizes, and state before performing operations that depend on index properties.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Ingestion Tasks

**Slug:** `ALGOLIA_LIST_INGESTION_TASKS`

Tool to retrieve a list of ingestion tasks from Algolia. Use when you need to fetch configured tasks for ingestion pipelines. Supports filtering by various criteria such as source, destination, trigger type, action, and enabled status, with pagination and sorting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of the paginated API response (1-indexed). |
| `sort` | string ("enabled" | "triggerType" | "action" | "updatedAt" | "createdAt") | No | Property by which to sort the list of tasks. |
| `order` | string ("asc" | "desc") | No | Sort order of the response. |
| `action` | array | No | Actions for filtering the list of tasks. Possible values: save, replace, partial, append. |
| `enabled` | boolean | No | Filter the list of tasks by the enabled status. Set to true for enabled tasks, false for disabled. |
| `sourceID` | array | No | Source IDs for filtering the list of tasks. Provide a list of source UUIDs. |
| `sourceType` | array | No | Filters the tasks with the specified source type. Example: json, commercetools. |
| `triggerType` | array | No | Type of task trigger for filtering. Possible values: onDemand, schedule, subscription, streaming. |
| `itemsPerPage` | integer | No | Number of items per page. Must be between 1 and 100. Default is 10. |
| `destinationID` | array | No | Destination IDs for filtering the list of tasks. Provide a list of destination UUIDs. |
| `withEmailNotifications` | boolean | No | Filter tasks by email notification settings. If specified, only returns tasks with notifications.email.enabled set to this value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Query Suggestions Configurations

**Slug:** `ALGOLIA_LIST_QS_CONFIGS`

Tool to retrieve all Query Suggestions configurations for an Algolia application. Use when you need to view or audit existing Query Suggestions setups.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string ("us" | "eu") | Yes | Analytics region for your Algolia application. Must be 'us' or 'eu'. Check your region in the Infrastructure > Analytics section of the Algolia dashboard. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Task Runs

**Slug:** `ALGOLIA_LIST_RUNS`

Tool to list task runs. Use when you need to retrieve and monitor task execution status, filter by time range, or paginate through run history.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of the paginated API response. |
| `sort` | string ("status" | "updatedAt" | "createdAt") | No | Property by which to sort the list of task runs. |
| `type` | array | No | Run type for filtering the list of task runs. |
| `order` | string ("asc" | "desc") | No | Sort order for the list of task runs. |
| `status` | array | No | Run status for filtering the list of task runs. |
| `taskID` | string | No | Task ID for filtering the list of task runs. |
| `endDate` | string | No | Date and time for the latest run to retrieve, in RFC 3339 format. By default, the current day is used. |
| `startDate` | string | No | Date and time for the earliest run to retrieve, in RFC 3339 format. By default, the current day minus seven days is used. |
| `itemsPerPage` | integer | No | Number of items per page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sources

**Slug:** `ALGOLIA_LIST_SOURCES`

Tool to list sources from the Algolia Ingestion API. Use when you need to retrieve available data sources for ingestion pipelines. Supports filtering by type and authentication ID, with pagination and sorting options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of the paginated API response (1-indexed). |
| `sort` | string ("name" | "type" | "updatedAt" | "createdAt") | No | Property by which to sort the list of sources. |
| `type` | array | No | Source type filter. Some sources require authentication. Example: ['commercetools', 'bigcommerce'] |
| `order` | string ("asc" | "desc") | No | Sort order of the response. |
| `region` | string | No | Algolia ingestion API region. Valid values: 'us', 'eu', 'de'. |
| `itemsPerPage` | integer | No | Number of items per page. Must be between 1 and 100. |
| `authenticationID` | array | No | Authentication IDs of the sources to retrieve. Use 'none' to return sources without authentication. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Transformations

**Slug:** `ALGOLIA_LIST_TRANSFORMATIONS`

Tool to list all transformations in Algolia Ingestion API. Use when you need to retrieve transformation configurations, filter by type, or paginate through transformation lists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of the paginated API response. Must be at least 1. |
| `sort` | string ("name" | "updatedAt" | "createdAt") | No | Sort property for transformations list. |
| `type` | string ("code" | "noCode") | No | Type of transformation. |
| `order` | string ("asc" | "desc") | No | Sort order for transformations list. |
| `itemsPerPage` | integer | No | Number of items per page. Must be between 1 and 100. Defaults to 10. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Partial Update Objects

**Slug:** `ALGOLIA_PARTIAL_UPDATE_OBJECTS`

Tool to partially update multiple records in the specified index. Use when you need to change only selected fields of many objects without replacing entire records. Use after confirming objectIDs and desired updates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | List of objects to update. Each entry must include `objectID` and any additional fields you wish to change; you can also set `createIfNotExists` per object. |
| `indexName` | string | Yes | Name of the Algolia index where the objects live. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Push Records to Task

**Slug:** `ALGOLIA_PUSH_TASK`

Tool to push records to an Algolia task by task ID. Use when you need to send data to a configured ingestion task. Note: tasks with source type 'json' cannot use this endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `watch` | boolean | No | When true, the push operation will be synchronous and the API will wait for the ingestion to finish before responding. |
| `action` | string ("addObject" | "updateObject" | "partialUpdateObject" | "partialUpdateObjectNoCreate" | "deleteObject" | "delete" | "clear") | Yes | Which indexing operation to perform: - addObject: adds records to an index (with auto-generated object ID) - updateObject: adds or replaces records in an index - partialUpdateObject: adds or updates attributes (creates if not exists) - partialUpdateObjectNoCreate: same as partialUpdateObject but doesn't create new records - deleteObject: delete records from an index - delete: delete an index - clear: delete all records from an index |
| `taskID` | string | Yes | Unique identifier of the task (UUID format). |
| `records` | array | Yes | Array of records to push. Each record must include an 'objectID' field. Additional fields depend on your index schema. Note: tasks with source type 'json' cannot use the push endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace All Rules

**Slug:** `ALGOLIA_REPLACE_ALL_RULES`

Tool to push a new set of rules, erasing previous ones. Use when you need zero-downtime atomic replacement of all rules in an index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rules` | array | Yes | Array of rule objects to replace all existing rules. |
| `indexName` | string | Yes | Name of the Algolia index to replace rules for. |
| `requestOptions` | object | No | Additional request options sent as query parameters. |
| `forwardToReplicas` | boolean | No | Also apply the replacement to replica indices. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Replace Task

**Slug:** `ALGOLIA_REPLACE_TASK`

Tool to fully replace a task in Algolia Ingestion API. Use when you need to completely update a task with new configuration, replacing all existing settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cron` | string | No | Cron expression for the task's schedule. |
| `input` | object | No | Configuration of the task, depending on its type. Can be streaming input (with mapping), docker streams (with streams array), or Shopify input (with metafields and market). |
| `action` | string ("replace" | "save" | "partial" | "partialNoCreate" | "append") | Yes | Action to perform on the Algolia index. |
| `cursor` | string | No | Date and time when the last cursor was created, in RFC 3339 format. |
| `taskID` | string | Yes | Unique identifier of a task. |
| `enabled` | boolean | No | Whether the task is enabled. |
| `policies` | object | No | Set of rules for a task. |
| `destinationID` | string | Yes | Universally unique identifier (UUID) of a destination resource. |
| `notifications` | object | No | Notification settings for a task. |
| `failureThreshold` | integer | No | Maximum accepted percentage of failures for a task run to finish successfully. |
| `subscriptionAction` | string ("replace" | "save" | "partial" | "partialNoCreate" | "append") | No | Action to perform on the Algolia index. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Restore API Key

**Slug:** `ALGOLIA_RESTORE_API_KEY`

Tool to restore a deleted API key within 72 hours of deletion. Use when you need to recover an accidentally deleted API key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The API key to restore. Must have been deleted within the last 72 hours. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Task V1

**Slug:** `ALGOLIA_RUN_TASK_V1`

Tool to run a task V1 from Algolia Ingestion API. Use when you need to manually trigger a task execution. Note: This API is deprecated but still functional.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taskID` | string | Yes | Unique identifier of a task. |
| `runMetadata` | object | No | Additional information that will be passed to the created run. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save Rule

**Slug:** `ALGOLIA_SAVE_RULE`

Tool to create or replace a rule in an index. Use when you need to add merchandising rules, query modifications, or conditional search behavior.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | No | Whether the rule is active. Defaults to true. |
| `validity` | array | No | Time periods when the rule is active, specified as Unix timestamps. |
| `object_id` | string | Yes | Unique identifier for the rule. This will be used as the rule's objectID. |
| `conditions` | array | No | List of conditions that trigger the rule. Some consequences don't require conditions. Max 25 conditions. |
| `index_name` | string | Yes | Name of the index in which to save the rule. |
| `consequence` | object | Yes | Effect of the rule when conditions are met. Must include at least one consequence property. |
| `description` | string | No | Human-readable description of the rule's purpose. |
| `forward_to_replicas` | boolean | No | Whether to apply changes to replica indices. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save Synonym

**Slug:** `ALGOLIA_SAVE_SYNONYM`

Tool to add or update a synonym in the specified index. Use when you need programmatic upsert of search synonyms after index creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `synonym` | object | Yes | Synonym object payload defining type and values. |
| `objectID` | string | Yes | Unique identifier for the synonym object. Must be specified and match the synonym objectID. |
| `indexName` | string | Yes | Name of the index in which to save the synonym. |
| `forwardToReplicas` | boolean | No | Whether to forward the synonym update to all replicas. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save Synonyms

**Slug:** `ALGOLIA_SAVE_SYNONYMS`

Tool to batch create or replace synonyms in an Algolia index. If a synonym with the objectID doesn't exist, Algolia adds a new one. Use when you need to add or update multiple synonyms at once.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `synonyms` | array | Yes | List of synonym objects to create or replace. Each must have an objectID and type. |
| `indexName` | string | Yes | Name of the index on which to perform the operation. |
| `forwardToReplicas` | boolean | No | Whether changes are applied to replica indices. Default is false. |
| `replaceExistingSynonyms` | boolean | No | Whether to replace all synonyms in the index with the ones sent with this request. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Authentications

**Slug:** `ALGOLIA_SEARCH_AUTHENTICATIONS`

Tool to search for authentication resources by IDs in Algolia. Use when you need to retrieve multiple specific authentication configurations by their IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `authenticationIDs` | array | Yes | List of authentication IDs (UUIDs) to search for. Must contain at least one ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Destinations

**Slug:** `ALGOLIA_SEARCH_DESTINATIONS`

Tool to search for specific destinations by their IDs. Use when you need to retrieve multiple destinations at once by providing their unique identifiers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `destinationIDs` | array | Yes | List of destination IDs (UUIDs) to search for. At least one destination ID must be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Dictionary Entries

**Slug:** `ALGOLIA_SEARCH_DICTIONARY_ENTRIES`

Tool to search dictionary entries in Algolia dictionaries. Use when you need to find stopwords, plurals, or compound words in specific dictionaries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page of search results to retrieve (zero-based). |
| `query` | string | No | Search query string to match dictionary entries. Empty string returns all entries. |
| `language` | string ("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" | "hy" | "id" | "is" | "it" | "ja" | "ka" | "kk" | "ko" | "ku" | "ky" | "lt" | "lv" | "mi" | "mn" | "mr" | "ms" | "mt" | "nb" | "nl" | "no" | "ns" | "pl" | "ps" | "pt" | "pt-br" | "qu" | "ro" | "ru" | "sk" | "sq" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tn" | "tr" | "tt" | "uk" | "ur" | "uz" | "zh") | No | Enum for ISO codes of supported languages. |
| `hitsPerPage` | integer | No | Number of hits per page. Minimum 1, maximum 1000. |
| `dictionary_name` | string ("plurals" | "stopwords" | "compounds") | Yes | Dictionary type in which to search: 'plurals', 'stopwords', or 'compounds'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Facet Values

**Slug:** `ALGOLIA_SEARCH_FACET_VALUES`

Tool to search for values of a specified facet attribute. Use when you need to find specific facet values that match a query string. Facet values are sorted by decreasing count by default.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `params` | string | No | Search parameters as a URL-encoded query string. |
| `facet_name` | string | Yes | Facet attribute in which to search for values. This attribute must be included in the 'attributesForFaceting' index setting with the 'searchable()' modifier. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |
| `facet_query` | string | No | Text to search inside the facet's values. |
| `max_facet_hits` | integer | No | Maximum number of facet values to return when searching for facet values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Algolia Index

**Slug:** `ALGOLIA_SEARCH_INDEX`

Tool to perform a search on a specified Algolia index. Use after confirming the index name. Example: SearchIndex(index_name='contacts', query='apple', search_params={'hitsPerPage':10})

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Search query string. Empty string fetches all records. Max length is 512 characters. When searching by URL, strip query params and fragments to match stored paths; validate hits by comparing the URL field to the full target URL. |
| `index_name` | string | Yes | Name of the Algolia index to search (e.g., 'contacts') |
| `search_params` | object | No | Additional Algolia search parameters as key-value pairs, e.g., {'hitsPerPage': 10, 'filters': 'category:book'}. |
| `request_options` | object | No | Optional request-level options such as extra headers or query params. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Multiple Indices

**Slug:** `ALGOLIA_SEARCH_MULTIPLE_INDICES`

Tool to perform searches across multiple indices in a single call. Use when you need to batch multiple index queries into one API request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | List of search queries to perform on multiple indices. |
| `strategy` | string ("none" | "stopIfEnoughMatches") | No | Search strategy to use: 'none' or 'stopIfEnoughMatches'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Recommend Rules

**Slug:** `ALGOLIA_SEARCH_RECOMMEND_RULES`

Tool to search for Recommend rules in the specified index and model. Use when you need to retrieve rules matching a query, or use an empty query to list all rules for this recommendation scenario.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Requested page of the API response. Page numbering starts at 0. |
| `model` | string ("related-products" | "bought-together" | "trending-facets" | "trending-items") | Yes | Recommend model type (related-products, bought-together, trending-facets, or trending-items). |
| `query` | string | No | Search query to filter rules. Use an empty string to list all rules for this recommendation scenario. |
| `facets` | array | No | Include facets and facet values in the response. Use ['*'] to include all facets. |
| `context` | string | No | Only search for rules with matching context. |
| `enabled` | boolean | No | Whether to only show rules where the value of their enabled property matches this parameter. If absent, show all rules, regardless of their enabled property. |
| `filters` | string | No | Filter expression. This only searches for rules matching the filter expression. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |
| `hitsPerPage` | integer | No | Maximum number of hits per page (1-1000). Algolia uses page and hitsPerPage to control how search results are displayed. |
| `maxValuesPerFacet` | integer | No | Maximum number of values to return for each facet (1-1000). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Sources

**Slug:** `ALGOLIA_SEARCH_SOURCES`

Tool to search for sources by IDs in Algolia Ingestion API. Use when you need to retrieve multiple specific data sources by their IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sourceIDs` | array | Yes | List of source IDs (UUIDs) to search for. Must contain at least one ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Synonyms

**Slug:** `ALGOLIA_SEARCH_SYNONYMS`

Tool to search for synonyms in the specified index. Use when you need to retrieve synonyms matching a query or filter by type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Zero-based page number to retrieve. |
| `type` | string ("oneWaySynonym" | "synonym" | "placeholder" | "altCorrection1" | "altCorrection2") | No | Filter by synonym type: 'oneWaySynonym', 'synonym', 'placeholder', 'altCorrection1', or 'altCorrection2'. |
| `query` | string | No | Keywords to match in synonyms. |
| `index_name` | string | Yes | Name of the Algolia index to search for synonyms. |
| `hitsPerPage` | integer | No | Number of synonyms to return per page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Tasks V1

**Slug:** `ALGOLIA_SEARCH_TASKS_V1`

Tool to search for tasks V1 from Algolia Ingestion API. Use when you need to retrieve details about multiple specific tasks by their IDs. Note: This API is deprecated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `taskIDs` | array | Yes | List of task UUIDs to search for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Transformations

**Slug:** `ALGOLIA_SEARCH_TRANSFORMATIONS`

Tool to search for transformations by IDs in Algolia Ingestion API. Use when you need to retrieve multiple specific transformation configurations by their IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `transformationIDs` | array | Yes | List of transformation IDs (UUIDs) to search for. Must contain at least one ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Dictionary Settings

**Slug:** `ALGOLIA_SET_DICTIONARY_SETTINGS`

Tool to update dictionary settings for Algolia. Use when you need to enable or disable built-in stop words, plurals, or compounds for specific languages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `disableStandardEntries` | object | Yes | Configuration for disabling or enabling built-in Algolia dictionary entries (stopwords, plurals, compounds) for specific languages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Personalization Strategy

**Slug:** `ALGOLIA_SET_PERSONALIZATION_STRATEGY`

Tool to define personalization strategy that controls how user behavior affects search results. Use when you need to configure which events and facets influence personalized search rankings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string | No | Algolia personalization API region. Valid values: 'us', 'eu'. |
| `eventsScoring` | array | Yes | Scores associated with each event. The higher the scores, the higher the impact of those events on the personalization of search results. |
| `facetsScoring` | array | Yes | Scores associated with each facet. The higher the scores, the higher the impact of those facets on the personalization of search results. |
| `personalizationImpact` | integer | Yes | Impact of personalization on the search results. If set to 0, personalization has no impact on the search results. Value must be between 0 and 100. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Index Settings

**Slug:** `ALGOLIA_SET_SETTINGS`

Tool to update an Algolia index's settings. Use when you need to configure index behavior before indexing records. Example: set searchableAttributes and customRanking for products index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `settings` | object | Yes | Key/value mapping of settings parameters. Only specified keys are overridden; unspecified keys remain unchanged. Use null to reset a setting to its default. |
| `index_name` | string | Yes | Name of the index to update. |
| `forward_to_replicas` | boolean | No | Whether to forward these settings to all existing replica indices. Replicas must already exist; cannot create and forward in a single call. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Stop AB Test

**Slug:** `ALGOLIA_STOP_AB_TEST`

Tool to stop an A/B test by its unique identifier. Use when you need to halt an active A/B test. Note that stopped A/B tests cannot be restarted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique A/B test identifier. |
| `region` | string | No | Algolia analytics API region. Valid values: 'us', 'de'. Defaults to 'de' (EU region). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Try Transformation

**Slug:** `ALGOLIA_TRY_TRANSFORMATION`

Tool to try a transformation before creating it in Algolia. Use when you need to test transformation code or no-code configurations against sample data to verify they work correctly before deployment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | Deprecated field. The transformation code as a string. Use 'input' field with proper 'type' instead. If provided without 'type' or 'input', this will be used for backward compatibility. |
| `type` | string ("code" | "noCode") | No | Type of transformation. |
| `input` | string | No | The input for the transformation. Use TransformationCodeInput for code-based transformations or TransformationNoCodeInput for no-code transformations. Required if 'code' field is not provided. |
| `sampleRecord` | object | Yes | The record to apply the transformation to. This is the sample data that will be transformed. Should be a JSON object representing your data structure. |
| `authentications` | array | No | Optional array of authentication resources to use with the transformation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Try Transformation Before Update

**Slug:** `ALGOLIA_TRY_TRANSFORMATION_BEFORE_UPDATE`

Tool to test a transformation before updating it in Algolia Ingestion API. Use when you need to validate transformation code or configuration against sample data before applying it to production.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | (Deprecated) Transformation code. Use the 'input' field with proper 'type' instead. |
| `type` | string ("code" | "noCode") | No | Type of transformation to test. |
| `input` | string | No | The transformation input, which can be either code or no-code configuration. If provided, this will be used to test the transformation. |
| `sample_record` | object | Yes | The sample record object to apply the transformation to. Must be a valid JSON object. |
| `authentications` | array | No | Optional array of authentication configurations for the transformation. |
| `transformation_id` | string | Yes | Unique identifier (UUID) of the transformation to test. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update API Key

**Slug:** `ALGOLIA_UPDATE_API_KEY`

Tool to update the permissions and settings of an existing API key. Use when you need to modify ACL permissions, index restrictions, rate limits, or other settings of an existing API key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `acl` | array | 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 list (ACL). |
| `key` | string | Yes | The API key to update. |
| `indexes` | array | 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_*' matches all indices starting with 'dev_', '*_dev' matches all indices ending with '_dev', '*_products_*' matches all indices containing '_products_'. |
| `referers` | array | 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 with 'https://algolia.com/', '*.algolia.com' allows all referrers ending with '.algolia.com', '*algolia.com*' allows all referrers in the domain 'algolia.com'. Like all HTTP headers, referrers can be spoofed. Don't rely on them to secure your data. |
| `validity` | integer | No | Duration (in seconds) after which the API key expires. By default, API keys don't expire. |
| `description` | string | No | Description of an API key to help you identify this API key. |
| `maxHitsPerQuery` | integer | No | Maximum number of results this API key can retrieve in one query. By default, there's no limit. |
| `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 can provide a range of IP addresses. |
| `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 error with status code 429. By default, there's no limit. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Authentication

**Slug:** `ALGOLIA_UPDATE_AUTHENTICATION`

Tool to update an authentication resource in Algolia. Use when you need to modify the name or credentials of an existing authentication configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Descriptive name for the resource. |
| `input` | object | No | Authentication credentials object. The structure varies based on the authentication type. Can include fields like clientEmail/privateKey (googleServiceAccount), username/password (basic), key (apiKey), client_id/client_secret/code/scope/url (oauth), apiKey/appID (algolia), or custom key-value pairs. |
| `authenticationID` | string | Yes | Unique identifier of an authentication resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Query Suggestions Config

**Slug:** `ALGOLIA_UPDATE_CONFIG`

Tool to update an existing Query Suggestions configuration. Use when you need to modify settings for query suggestions on an existing index.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `region` | string ("us" | "eu") | No | Analytics region for your Algolia application (us or eu). Must match your application's analytics region configured in the Algolia dashboard under Infrastructure > Analytics |
| `exclude` | array | No | List of words or regular expressions to exclude from query suggestions |
| `indexName` | string | Yes | Name of the Query Suggestions index to update |
| `languages` | string | No | Languages for deduplicating singular/plural suggestions. Set to true to enable for all languages, or provide an array of specific language codes (e.g., ['en', 'fr']) |
| `sourceIndices` | array | Yes | Array of source index configurations to use for generating query suggestions. At least one source index is required |
| `enablePersonalization` | boolean | No | Whether to enable personalized query suggestions based on user behavior. Default is false |
| `allowSpecialCharacters` | boolean | No | Whether to include suggestions with special characters. Default is false |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Destination

**Slug:** `ALGOLIA_UPDATE_DESTINATION`

Tool to update a destination in Algolia Ingestion API. Use when you need to modify an existing destination's configuration, name, type, or associated transformations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Descriptive name for the resource. |
| `type` | string ("search" | "insights") | No | Destination type enum. |
| `input` | object | No | Input configuration for updating a destination. |
| `destinationID` | string | Yes | Unique identifier of a destination. |
| `authenticationID` | string | No | Universally unique identifier (UUID) of an authentication resource. |
| `transformationIDs` | array | No | List of transformation IDs to associate with the destination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Dictionary Entries

**Slug:** `ALGOLIA_UPDATE_DICTIONARY_ENTRIES`

Tool to add or delete dictionary entries in Algolia dictionaries. Use when you need to batch modify stopwords, plurals, or compound word entries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | List of add or delete operations to perform on the dictionary entries. |
| `dictionary_name` | string ("plurals" | "stopwords" | "compounds") | Yes | Type of dictionary to modify: 'plurals' for plural forms, 'stopwords' for common words to exclude, 'compounds' for compound word handling. |
| `clearExistingDictionaryEntries` | boolean | No | Whether to replace all existing custom entries in the dictionary with the ones in this request. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Record Partially

**Slug:** `ALGOLIA_UPDATE_RECORD_PARTIALLY`

Tool to add or update attributes in a single record. Use when you need to modify specific fields without replacing the entire record. Creates a new record if the objectID doesn't exist (when create_if_not_exists is true).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `object_id` | string | Yes | Unique record identifier. |
| `attributes` | object | Yes | Attributes to add or update in the record. Existing attributes with the same keys will be overwritten, new attributes will be added, and unspecified attributes remain unchanged. |
| `index_name` | string | Yes | Name of the index on which to perform the operation. |
| `create_if_not_exists` | boolean | No | Whether to create a new record if it doesn't exist. If true, creates the record when objectID is not found. If false, only updates existing records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Source

**Slug:** `ALGOLIA_UPDATE_SOURCE`

Tool to update a source in the Algolia Ingestion API. Use when you need to modify the name, authentication, or input configuration of an existing data source.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Descriptive name of the source. |
| `input` | object | No | Input configuration for the source. The structure varies based on source type. Common fields include: url (string), projectID (string), datasetID (string), tablePrefix (string), table (string), customSQLRequest (string), uniqueIDColumn (string), method (string), delimiter (string), mapping (object), customFields (object), fallbackIsInStockValue (boolean), locales (array), productQueryPredicate (string), storeKeys (array), useImagesObjects (boolean), configuration (object), featureFlags (object). |
| `region` | string | No | Region for the Algolia Ingestion API endpoint (e.g., 'us', 'eu'). The API will be called at https://data.{region}.algolia.com |
| `sourceID` | string | Yes | Unique identifier of the source to update. |
| `authenticationID` | string | No | Universally unique identifier (UUID) of an authentication resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `ALGOLIA_UPDATE_TASK`

Tool to partially update a task in Algolia Ingestion API. Use when you need to modify task configuration such as schedule, failure threshold, destination, or notification settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cron` | string | No | Cron expression for the task's schedule. |
| `input` | object | No | Configuration of the task, depending on its type. Can be streaming input (with mapping), docker streams (with streams array), or Shopify input (with metafields and market). |
| `taskID` | string | Yes | Unique identifier of a task. |
| `enabled` | boolean | No | Whether the task is enabled. |
| `policies` | object | No | Set of rules for a task. |
| `destinationID` | string | No | Universally unique identifier (UUID) of a destination resource. |
| `notifications` | object | No | Notification settings for a task. |
| `failureThreshold` | integer | No | Maximum accepted percentage of failures for a task run to finish successfully. |
| `subscriptionAction` | string ("replace" | "save" | "partial" | "partialNoCreate" | "append") | No | Action to perform on the Algolia index. Valid values: replace, save, partial, partialNoCreate, append. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Transformation

**Slug:** `ALGOLIA_UPDATE_TRANSFORMATION`

Tool to update an existing transformation in Algolia Ingestion API. Use when you need to modify transformation settings, code, or configuration for data processing during ingestion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | Deprecated field. Use the 'input' field with proper 'type' instead to specify the transformation code. |
| `name` | string | Yes | The uniquely identified name of your transformation. |
| `type` | string ("code" | "noCode") | No | Type of transformation. |
| `input` | object | No | The input for the transformation, which can be either code or a no-code configuration. |
| `description` | string | No | A descriptive name for your transformation explaining what it does. |
| `transformationID` | string | Yes | Unique identifier (UUID) of the transformation to update. |
| `authenticationIDs` | array | No | The authentications (UUIDs) associated with the transformation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Validate Source

**Slug:** `ALGOLIA_VALIDATE_SOURCE`

Tool to validate a source payload before creating it in Algolia. Use when you need to verify that a source configuration is valid before actually creating the source.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Descriptive name for the source. |
| `type` | string ("bigcommerce" | "bigquery" | "commercetools" | "csv" | "docker" | "ga4BigqueryExport" | "json" | "shopify" | "push") | Yes | Type of the data source to validate. |
| `input` | object | No | Input configuration for the source. The structure varies based on source type. Common fields include: url (string), projectID (string), datasetID (string), tablePrefix (string), table (string), customSQLRequest (string), uniqueIDColumn (string), method (string), delimiter (string), mapping (object), customFields (object/array), fallbackIsInStockValue (boolean), locales (array), productQueryPredicate (string), storeKeys (array), useImagesObjects (boolean), configuration (object), image (string), channel (object), productMetafields (array), variantMetafields (array), dataType (string), storeHash (string), projectKey (string). |
| `region` | string ("us" | "eu") | No | Region for the Algolia Ingestion API endpoint. The API will be called at https://data.{region}.algolia.com |
| `authenticationID` | string | No | Universally unique identifier (UUID) of an authentication resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Validate Source Before Update

**Slug:** `ALGOLIA_VALIDATE_SOURCE_BEFORE_UPDATE`

Tool to validate a source update payload in the Algolia Ingestion API. Use when you need to verify that an update to a source configuration is valid before actually updating it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Descriptive name of the source to validate. |
| `input` | object | No | Input configuration for the source. The structure varies based on source type. Common fields include: url (string), projectID (string), datasetID (string), tablePrefix (string), table (string), customSQLRequest (string), uniqueIDColumn (string), method (string), delimiter (string), mapping (object), customFields (object), fallbackIsInStockValue (boolean), locales (array), productQueryPredicate (string), storeKeys (array), useImagesObjects (boolean), configuration (object), featureFlags (object). |
| `region` | string | No | Region for the Algolia Ingestion API endpoint (e.g., 'us', 'eu'). The API will be called at https://data.{region}.algolia.com |
| `sourceID` | string | Yes | Unique identifier of the source to validate. |
| `authenticationID` | string | No | Universally unique identifier (UUID) of an authentication resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
