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

# Error codes

> Consult this page for an exhaustive list of errors you may encounter when using the Meilisearch API.

This page is an exhaustive list of Meilisearch API errors.

## `api_key_already_exists`

A key with this [`uid`](/reference/api/keys/get-api-key#response-uid) already exists.

## `api_key_not_found`

The requested API key could not be found.

## `bad_request`

The request is invalid, check the error message for more information.

## `batch_not_found`

The requested batch does not exist. Please ensure that you are using the correct [`uid`](/reference/api/batches/list-batches).

## `database_size_limit_reached`

The requested database has reached its maximum size.

## `document_fields_limit_reached`

A document exceeds the [maximum limit of 65,536 attributes](/resources/help/known_limitations#maximum-number-of-attributes-per-document).

## `document_not_found`

The requested document can't be retrieved. Either it doesn't exist, or the database was left in an inconsistent state.

## `dump_process_failed`

An error occurred during the dump creation process. The task was aborted.

## `facet_search_disabled`

The [`/facet-search`](/reference/api/facet-search/search-in-facets) route has been queried while [the `facetSearch` index setting](/reference/api/settings/get-facetsearch) is set to `false`.

## `feature_not_enabled`

You have tried using an [experimental feature](/resources/help/experimental_features_overview) without activating it.

## `immutable_api_key_actions`

The [`actions`](/reference/api/keys/list-api-keys) field of an API key cannot be modified.

## `immutable_api_key_created_at`

The [`createdAt`](/reference/api/keys/get-api-key#response-created-at) field of an API key cannot be modified.

## `immutable_api_key_expires_at`

The [`expiresAt`](/reference/api/keys/get-api-key#response-expiresat) field of an API key cannot be modified.

## `immutable_api_key_indexes`

The [`indexes`](/reference/api/keys/get-api-key#response-indexes) field of an API key cannot be modified.

## `immutable_api_key_key`

The [`key`](/reference/api/keys/get-api-key#response-key) field of an API key cannot be modified.

## `immutable_api_key_uid`

The [`uid`](/reference/api/keys/get-api-key#response-uid) field of an API key cannot be modified.

## `immutable_api_key_updated_at`

The [`updatedAt`](/reference/api/keys/get-api-key#response-updated-at) field of an API key cannot be modified.

## `immutable_index_uid`

The [`uid`](/reference/api/indexes/get-index) field of an index cannot be modified.

## `immutable_index_updated_at`

The [`updatedAt`](/reference/api/indexes/get-index) field of an index cannot be modified.

## `immutable_webhook`

You tried to modify a reserved [webhook](/reference/api/management/list-webhooks). Reserved webhooks are configured by Meilisearch Cloud and have `isEditable` set to `false`. Webhooks created with an instance option are also immutable.

## `immutable_webhook_uuid`

You tried to manually set a webhook `uuid`. Meilisearch automatically generates `uuid` for webhooks.

## `immutable_webhook_is_editable`

You tried to manually set a webhook's `isEditable` field. Meilisearch automatically sets `isEditable` for all webhooks. Only reserved webhooks have `isEditable` set to `false`.

## `index_already_exists`

An index with this [`uid`](/reference/api/indexes/get-index) already exists, check out our guide on [index creation](/resources/internals/indexes).

## `index_creation_failed`

An error occurred while trying to create an index, check out our guide on [index creation](/resources/internals/indexes).

## `index_not_found`

An index with this `uid` was not found, check out our guide on [index creation](/resources/internals/indexes).

## `index_primary_key_already_exists`

The requested index already has a primary key that [cannot be changed](/resources/internals/primary_key#changing-your-primary-key-with-the-update-index-endpoint).

## `index_primary_key_multiple_candidates_found`

[Primary key inference](/resources/internals/primary_key#meilisearch-guesses-your-primary-key) failed because the received documents contain multiple fields ending with `id`. Use the [update index endpoint](/reference/api/indexes/update-index) to manually set a primary key.

## `internal`

Meilisearch experienced an internal error. Check the error message, and [open an issue](https://github.com/meilisearch/meilisearch/issues/new?assignees=\&labels=\&template=bug_report\&title=) if necessary.

## `invalid_api_key`

The requested resources are protected with an API key. The provided API key is invalid. Read more about it in our [security tutorial](/resources/self_hosting/security/basic_security).

## `invalid_api_key_actions`

The [`actions`](/reference/api/keys/list-api-keys) field for the provided API key resource is invalid. It should be an array of strings representing action names.

## `invalid_api_key_description`

The [`description`](/reference/api/keys/get-api-key#response-description) field for the provided API key resource is invalid. It should either be a string or set to `null`.

## `invalid_api_key_expires_at`

The [`expiresAt`](/reference/api/keys/get-api-key#response-expiresat) field for the provided API key resource is invalid. It should either show a future date or datetime in the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format or be set to `null`.

## `invalid_api_key_indexes`

The [`indexes`](/reference/api/keys/get-api-key#response-indexes) field for the provided API key resource is invalid. It should be an array of strings representing index names.

## `invalid_api_key_limit`

The [`limit`](/reference/api/keys/list-api-keys) parameter is invalid. It should be an integer.

## `invalid_api_key_name`

The given [`name`](/reference/api/keys/get-api-key#response-name) is invalid. It should either be a string or set to `null`.

## `invalid_api_key_offset`

The [`offset`](/reference/api/keys/list-api-keys) parameter is invalid. It should be an integer.

## `invalid_api_key_uid`

The given [`uid`](/reference/api/keys/get-api-key#response-uid) is invalid. The `uid` must follow the [uuid v4](https://www.sohamkamani.com/uuid-versions-explained) format.

## `invalid_search_attributes_to_search_on`

The value passed to [`attributesToSearchOn`](/reference/api/search/search-with-post#body-attributes-to-search-on) is invalid. `attributesToSearchOn` accepts an array of strings indicating document attributes. Attributes given to `attributesToSearchOn` must be present in the [`searchableAttributes` list](/capabilities/full_text_search/how_to/configure_displayed_attributes#the-searchableattributes-list).

## `invalid_search_media`

The value passed to [`media`](/reference/api/search/search-with-post#body-media) is not a valid JSON object.

## `invalid_search_media_and_vector`

The search query contains non-`null` values for both [`media`](/reference/api/search/search-with-post#body-media) and [`vector`](/reference/api/search/search-with-post#body-media). These two parameters are mutually exclusive, since `media` generates vector embeddings via the embedder configured in `hybrid`.

## `invalid_filter`

The provided [filter expression](/capabilities/filtering_sorting_faceting/advanced/filter_expression_syntax) is invalid. This may happen if the filter syntax is malformed, uses an unsupported operator, or references an attribute not listed in [`filterableAttributes`](/reference/api/settings/get-filterableattributes).

## `invalid_content_type`

The [Content-Type header](/reference/api/headers) is not supported by Meilisearch. Currently, Meilisearch only supports JSON, CSV, and NDJSON.

## `invalid_document_csv_delimiter`

The [`csvDelimiter`](/reference/api/documents/add-or-replace-documents) parameter is invalid. It should either be a string or [a single ASCII character](https://www.rfc-editor.org/rfc/rfc20).

## `invalid_document_id`

The provided [document identifier](/resources/internals/primary_key#document-id) does not meet the format requirements. A document identifier must be of type integer or string, composed only of alphanumeric characters (a-z A-Z 0-9), hyphens (-), and underscores (\_).

## `invalid_document_fields`

The [`fields`](/reference/api/documents/list-documents-with-get) parameter is invalid. It should be a string.

## `invalid_document_filter`

This error occurs if:

* The [`filter`](/reference/api/documents/list-documents-with-get) parameter is invalid
  * It should be a string, array of strings, or array of array of strings for the [get documents with POST endpoint](/reference/api/documents/list-documents-with-post)
  * It should be a string for the [get documents with GET endpoint](/reference/api/documents/list-documents-with-get)
* The attribute used for filtering is not defined in the [`filterableAttributes` list](/reference/api/settings/get-filterableattributes)
* The [filter expression](/capabilities/filtering_sorting_faceting/advanced/filter_expression_syntax) has a missing or invalid operator. [Read more about our supported operators](/capabilities/filtering_sorting_faceting/advanced/filter_expression_syntax)

## `invalid_document_limit`

The [`limit`](/reference/api/documents/list-documents-with-get) parameter is invalid. It should be an integer.

## `invalid_document_offset`

The [`offset`](/reference/api/documents/list-documents-with-get) parameter is invalid. It should be an integer.

## `invalid_document_sort`

This error occurs if:

* The syntax for the [`sort`](/reference/api/documents/list-documents-with-post) parameter is invalid
* The attribute used for sorting is not defined in the [`sortableAttributes`](/reference/api/settings/get-sortableattributes) list or the `sort` ranking rule is missing from the settings
* A reserved keyword like `_geo`, `_geoDistance`, `_geoRadius`, or `_geoBoundingBox` is used as a filter

## `invalid_document_geo_field`

The provided `_geo` field of one or more documents is invalid. Meilisearch expects `_geo` to be an object with two fields, `lat` and `lng`, each containing geographic coordinates expressed as a string or floating point number. Read more about `_geo` and how to troubleshoot it in [our dedicated guide](/capabilities/geo_search/getting_started).

## `invalid_document_geojson_field`

The `geojson` field in one or more documents is invalid or doesn't match the [GeoJSON specification](https://datatracker.ietf.org/doc/html/rfc7946).

## `invalid_export_url`

The export target instance URL is invalid or could not be reached.

## `invalid_export_api_key`

The supplied security key does not have the required permissions to access the target instance.

## `invalid_export_payload_size`

The provided payload size is invalid. The payload size must be a string indicating the maximum payload size in a human-readable format.

## `invalid_export_indexes_patterns`

The provided index pattern is invalid. The index pattern must be an alphanumeric string, optionally including a wildcard.

## `invalid_export_index_filter`

The provided index export filter is not a valid [filter expression](/capabilities/filtering_sorting_faceting/advanced/filter_expression_syntax).

## `invalid_facet_search_facet_name`

The attribute used for the `facetName` field is either not a string or not defined in the [`filterableAttributes` list](/reference/api/settings/get-filterableattributes).

## `invalid_facet_search_facet_query`

The provided value for `facetQuery` is invalid. It should either be a string or `null`.

## `invalid_index_limit`

The [`limit`](/reference/api/indexes/list-all-indexes) parameter is invalid. It should be an integer.

## `invalid_index_offset`

The [`offset`](/reference/api/indexes/list-all-indexes) parameter is invalid. It should be an integer.

## `invalid_index_uid`

There is an error in the provided index format, check out our guide on [index creation](/resources/internals/indexes).

## `invalid_index_primary_key`

The [`primaryKey`](/reference/api/indexes/swap-indexes) field is invalid. It should either be a string or set to `null`.

## `invalid_multi_search_query_federated`

A multi-search query includes `federationOptions` but the top-level `federation` object is `null` or missing.

## `invalid_multi_search_query_pagination`

A multi-search query contains `page`, `hitsPerPage`, `limit` or `offset`, but the top-level federation object is not `null`.

## `invalid_multi_search_query_position`

`federationOptions.queryPosition` is not a positive integer.

## `invalid_multi_search_weight`

A multi-search query contains a negative value for `federated.weight`.

## `invalid_multi_search_queries_ranking_rules`

Two or more queries in a multi-search request have incompatible results.

## `invalid_multi_search_facets`

`federation.facetsByIndex.<INDEX_NAME>` contains a value that is not in the filterable attributes list.

## `invalid_multi_search_sort_facet_values_by`

`federation.mergeFacets.sortFacetValuesBy` is not a string or doesn't have one of the allowed values.

## `invalid_multi_search_query_facets`

A query in the queries array contains `facets` when federation is present and non-`null`.

## `invalid_multi_search_merge_facets`

`federation.mergeFacets`  is not an object or contains unexpected fields.

## `invalid_multi_search_max_values_per_facet`

`federation.mergeFacets.maxValuesPerFacet` is not a positive integer.

## `invalid_multi_search_facet_order`

Two or more indexes have a different `faceting.sortFacetValuesBy` for the same requested facet.

## `invalid_multi_search_facets_by_index`

`facetsByIndex` is not an object or contains unknown fields.

## `invalid_multi_search_remote`

`federationOptions.remote` is not `network.self` and is not a key in `network.remotes`.

## `invalid_network_self`

The [network object](/reference/api/network/get-network) contains a `self` that is not a string or `null`.

## `invalid_network_remotes`

The [network object](/reference/api/network/get-network) contains a `remotes` that is not an object or `null`.

## `invalid_network_url`

One of the remotes in the [network object](/reference/api/network/get-network) contains a `url` that is not a string.

## `invalid_network_search_api_key`

One of the remotes in the [network object](/reference/api/network/get-network) contains a `searchApiKey` that is not a string or `null`.

## `invalid_search_attributes_to_crop`

The [`attributesToCrop`](/reference/api/search/search-with-post#body-attributes-to-crop) parameter is invalid. It should be an array of strings, a string, or set to `null`.

## `invalid_search_attributes_to_highlight`

The [`attributesToHighlight`](/reference/api/search/search-with-post#body-attributes-to-highlight) parameter is invalid. It should be an array of strings, a string, or set to `null`.

## `invalid_search_attributes_to_retrieve`

The [`attributesToRetrieve`](/reference/api/search/search-with-post#body-attributes-to-retrieve) parameter is invalid. It should be an array of strings, a string, or set to `null`.

## `invalid_search_crop_length`

The [`cropLength`](/reference/api/search/search-with-post#body-crop-length) parameter is invalid. It should be an integer.

## `invalid_search_crop_marker`

The [`cropMarker`](/reference/api/search/search-with-post#body-crop-marker) parameter is invalid. It should be a string or set to `null`.

## `invalid_search_embedder`

[`embedder`](/reference/api/search/search-with-post#body-hybrid) is invalid. It should be a string corresponding to the name of a configured embedder.

## `invalid_search_facets`

This error occurs if:

* The [`facets`](/reference/api/search/search-with-post#body-facets) parameter is invalid. It should be an array of strings, a string, or set to `null`
* The attribute used for faceting is not defined in the [`filterableAttributes` list](/reference/api/settings/get-filterableattributes)

## `invalid_search_filter`

This error occurs if:

* The syntax for the [`filter`](/reference/api/search/search-with-post#body-filter) parameter is invalid
* The attribute used for filtering is not defined in the [`filterableAttributes` list](/reference/api/settings/get-filterableattributes)
* A reserved keyword like `_geo`, `_geoDistance`, or `_geoPoint` is used as a filter

## `invalid_search_highlight_post_tag`

The [`highlightPostTag`](/reference/api/search/search-with-post#body-highlight-pre-tag) parameter is invalid. It should be a string.

## `invalid_search_highlight_pre_tag`

The [`highlightPreTag`](/reference/api/search/search-with-post#body-highlight-pre-tag) parameter is invalid. It should be a string.

## `invalid_search_hits_per_page`

The [`hitsPerPage`](/reference/api/search/search-with-post#body-hits-per-page) parameter is invalid. It should be an integer.

## `invalid_search_hybrid_query`

The [`hybrid`](/reference/api/search/search-with-post#body-hybrid) parameter is neither `null` nor an object, or it is an object with unknown keys.

## `invalid_search_limit`

The [`limit`](/reference/api/search/search-with-post#body-limit) parameter is invalid. It should be an integer.

## `invalid_search_locales`

The [`locales`](/reference/api/search/search-with-post#body-locales) parameter is invalid.

## `invalid_settings_embedder`

The [`embedders`](/reference/api/settings/get-embedders) index setting value is invalid.

## `invalid_settings_facet_search`

The [`facetSearch`](/reference/api/settings/get-facetsearch) index setting value is invalid.

## `invalid_settings_localized_attributes`

The [`localizedAttributes`](/reference/api/settings/get-localizedattributes) index setting value is invalid.

## `invalid_search_matching_strategy`

The [`matchingStrategy`](/reference/api/search/search-with-post#body-matching-strategy) parameter is invalid. It should either be set to `last` or `all`.

## `invalid_search_offset`

The [`offset`](/reference/api/search/search-with-post#body-offset) parameter is invalid. It should be an integer.

## `invalid_settings_prefix_search`

The [`prefixSearch`](/reference/api/settings/get-prefixsearch) index setting value is invalid.

## `invalid_search_page`

The [`page`](/reference/api/search/search-with-post#body-page) parameter is invalid. It should be an integer.

## `invalid_search_q`

The [`q`](/reference/api/search/search-with-post#body-q) parameter is invalid. It should be a string or set to `null`

## `invalid_search_ranking_score_threshold`

The [`rankingScoreThreshold`](/reference/api/search/search-with-post#body-show-ranking-score-threshold) in a search or multi-search request is not a number between `0.0` and `1.0`.

## `invalid_search_show_matches_position`

The [`showMatchesPosition`](/reference/api/search/search-with-post#body-show-matches-position) parameter is invalid. It should either be a boolean or set to `null`.

## `invalid_search_sort`

This error occurs if:

* The syntax for the [`sort`](/reference/api/search/search-with-post#body-sort) parameter is invalid
* The attribute used for sorting is not defined in the [`sortableAttributes`](/reference/api/settings/get-sortableattributes) list or the `sort` ranking rule is missing from the settings
* A reserved keyword like `_geo`, `_geoDistance`, `_geoRadius`, or `_geoBoundingBox` is used as a filter

## `invalid_settings_displayed_attributes`

The value of [displayed attributes](/capabilities/full_text_search/how_to/configure_displayed_attributes#displayed-fields) is invalid. It should be an empty array, an array of strings, or set to `null`.

## `invalid_settings_distinct_attribute`

The value of [distinct attributes](/capabilities/full_text_search/how_to/configure_distinct_attribute) is invalid. It should be a string or set to `null`.

## `invalid_settings_faceting_sort_facet_values_by`

The value provided for the [`sortFacetValuesBy`](/reference/api/settings/get-faceting) object is incorrect. The accepted values are `alpha` or `count`.

## `invalid_settings_faceting_max_values_per_facet`

The value for the [`maxValuesPerFacet`](/reference/api/settings/get-faceting) field is invalid. It should either be an integer or set to `null`.

## `invalid_settings_filterable_attributes`

The value of [filterable attributes](/reference/api/settings/get-filterableattributes) is invalid. It should be an empty array, an array of strings, or set to `null`.

## `invalid_settings_pagination`

The value for the [`maxTotalHits`](/reference/api/settings/update-pagination) field is invalid. It should either be an integer or set to `null`.

## `invalid_settings_ranking_rules`

This error occurs if:

* The [settings payload](/reference/api/settings/update-all-settings) has an invalid format
* A non-existent ranking rule is specified
* A custom ranking rule is malformed
* A reserved keyword like `_geo`, `_geoDistance`, `_geoRadius`, `_geoBoundingBox`, or `_geoPoint` is used as a custom ranking rule

## `invalid_settings_searchable_attributes`

The value of [searchable attributes](/reference/api/settings/get-searchableattributes) is invalid. It should be an empty array, an array of strings or set to `null`.

## `invalid_settings_search_cutoff_ms`

The specified value for [`searchCutoffMs`](/reference/api/settings/update-searchcutoffms) is invalid. It should be an integer indicating the cutoff in milliseconds.

## `invalid_settings_sortable_attributes`

The value of [sortable attributes](/reference/api/settings/get-sortableattributes) is invalid. It should be an empty array, an array of strings or set to `null`.

## `invalid_settings_stop_words`

The value of [stop words](/reference/api/settings/get-stopwords) is invalid. It should be an empty array, an array of strings or set to `null`.

## `invalid_settings_synonyms`

The value of the [synonyms](/reference/api/settings/get-synonyms) is invalid. It should either be an object or set to `null`.

## `invalid_settings_typo_tolerance`

This error occurs if:

* The [`enabled`](/reference/api/settings/get-typotolerance) field is invalid. It should either be a boolean or set to `null`
* The [`disableOnAttributes`](/reference/api/settings/get-typotolerance) field is invalid. It should either be an array of strings or set to `null`
* The [`disableOnWords`](/reference/api/settings/get-typotolerance) field is invalid. It should either be an array of strings or set to `null`
* The [`minWordSizeForTypos`](/reference/api/settings/get-typotolerance) field is invalid. It should either be an integer or set to `null`
* The value of either [`oneTypo`](/reference/api/settings/get-typotolerance) or [`twoTypos`](/reference/api/settings/get-typotolerance) is invalid. It should either be an integer or set to `null`

## `invalid_similar_id`

The provided target document identifier is invalid. A document identifier can be of type integer or string, only composed of alphanumeric characters (a-z A-Z 0-9), hyphens (-) and underscores (\_).

## `not_found_similar_id`

Meilisearch could not find the target document. Make sure your target document identifier corresponds to a document in your index.

## `invalid_similar_attributes_to_retrieve`

[`attributesToRetrieve`](/reference/api/search/search-with-post#body-attributes-to-retrieve) is invalid. It should be an array of strings, a string, or set to null.

## `invalid_similar_embedder`

[`embedder`](/reference/api/similar-documents/get-similar-documents-with-post) is invalid. It should be a string corresponding to the name of a configured embedder.

## `invalid_similar_filter`

[`filter`](/reference/api/search/search-with-post#body-filter) is invalid or contains a filter expression with a missing or invalid operator. Filter expressions must be a string, array of strings, or array of array of strings for the POST endpoint. It must be a string for the GET endpoint.

Meilisearch also throws this error if the attribute used for filtering is not defined in the `filterableAttributes` list.

## `invalid_similar_limit`

[`limit`](/reference/api/search/search-with-post#body-limit) is invalid. It should be an integer.

## `invalid_similar_offset`

[`offset`](/reference/api/search/search-with-post#body-offset) is invalid. It should be an integer.

## `invalid_similar_show_ranking_score`

[`ranking_score`](/reference/api/search/search-with-post#body-show-ranking-score) is invalid. It should be a boolean.

## `invalid_similar_show_ranking_score_details`

[`ranking_score_details`](/reference/api/search/search-with-post#body-show-ranking-score-details) is invalid. It should be a boolean.

## `invalid_similar_ranking_score_threshold`

The [`rankingScoreThreshold`](/reference/api/search/search-with-post#body-show-ranking-score-threshold) in a similar documents request is not a number between `0.0` and `1.0`.

## `invalid_state`

The database is in an invalid state. Deleting the database and re-indexing should solve the problem.

## `invalid_store_file`

The `data.ms` folder is in an invalid state. Your `b` file is corrupted or the `data.ms` folder has been replaced by a file.

## `invalid_swap_duplicate_index_found`

The indexes used in the [`indexes`](/reference/api/indexes/swap-indexes) array for a [swap index](/reference/api/indexes/swap-indexes) request have been declared multiple times. You must declare each index only once.

## `invalid_swap_indexes`

This error happens if:

* The payload doesn't contain exactly two index [`uids`](/reference/api/indexes/swap-indexes) for a swap operation
* The payload contains an invalid index name in the [`indexes`](/reference/api/indexes/swap-indexes) array

## `invalid_task_after_enqueued_at`

The [`afterEnqueuedAt`](/reference/api/tasks/list-tasks) query parameter is invalid.

## `invalid_task_after_finished_at`

The [`afterFinishedAt`](/reference/api/tasks/list-tasks) query parameter is invalid.

## `invalid_task_after_started_at`

The [`afterStartedAt`](/reference/api/tasks/list-tasks) query parameter is invalid.

## `invalid_task_before_enqueued_at`

The [`beforeEnqueuedAt`](/reference/api/tasks/list-tasks) query parameter is invalid.

## `invalid_task_before_finished_at`

The [`beforeFinishedAt`](/reference/api/tasks/list-tasks) query parameter is invalid.

## `invalid_task_before_started_at`

The [`beforeStartedAt`](/reference/api/tasks/list-tasks) query parameter is invalid.

## `invalid_task_canceled_by`

The [`canceledBy`](/reference/api/tasks/list-tasks) query parameter is invalid. It should be an integer. Multiple `uid`s should be separated by commas (`,`).

## `invalid_task_index_uids`

The [`indexUids`](/reference/api/tasks/list-tasks) query parameter contains an invalid index uid.

## `invalid_task_limit`

The [`limit`](/reference/api/tasks/list-tasks) parameter is invalid. It must be an integer.

## `invalid_task_statuses`

The requested task status is invalid. Please use one of the [possible values](/reference/api/tasks/get-task).

## `invalid_task_types`

The requested task type is invalid. Please use one of the [possible values](/reference/api/tasks/get-task).

## `invalid_task_uids`

The [`uids`](/reference/api/tasks/list-tasks) query parameter is invalid.

## `invalid_webhooks`

The create webhook request did not contain a valid JSON payload. Meilisearch also returns this error when you try to create more than 20 webhooks.

## `invalid_webhook_url`

The provided webhook URL isn’t a valid JSON string, is `null`, is missing, or its value cannot be parsed as a valid URL.

## `invalid_webhook_headers`

The provided webhook `headers` field is not a JSON object or not a valid HTTP header. Meilisearch also returns this error if you set more than 200 header fields for a single webhook.

## `invalid_webhook_uuid`

The provided webhook `uuid` is not a valid uuid v4 value.

## `io_error`

This error generally occurs when the host system has no space left on the device or when the database doesn't have read or write access.

## `index_primary_key_no_candidate_found`

[Primary key inference](/resources/internals/primary_key#meilisearch-guesses-your-primary-key) failed as the received documents do not contain any fields ending with `id`. [Manually designate the primary key](/resources/internals/primary_key#setting-the-primary-key), or add some field ending with `id` to your documents.

## `malformed_payload`

The [Content-Type header](/reference/api/headers) does not match the request body payload format or the format is invalid.

## `missing_api_key_actions`

The [`actions`](/reference/api/keys/list-api-keys) field is missing from payload.

## `missing_api_key_expires_at`

The [`expiresAt`](/reference/api/keys/get-api-key#response-expiresat) field is missing from payload.

## `missing_api_key_indexes`

The [`indexes`](/reference/api/keys/get-api-key#response-indexes) field is missing from payload.

## `missing_authorization_header`

This error happens if:

* The requested resources are protected with an API key that was not provided in the request header. Check our [security tutorial](/resources/self_hosting/security/basic_security) for more information

## `missing_content_type`

The payload does not contain a [Content-Type header](/reference/api/headers). Currently, Meilisearch only supports JSON, CSV, and NDJSON.

## `missing_document_filter`

This payload is missing the [`filter`](/reference/api/documents/delete-documents-by-filter) field.

## `missing_document_id`

A document does not contain any value for the required primary key, and is thus invalid. Check documents in the current addition for the invalid ones.

## `missing_index_uid`

The payload is missing the [`uid`](/reference/api/indexes/get-index) field.

## `missing_facet_search_facet_name`

The [`facetName`](/reference/api/facet-search/search-in-facets) parameter is required.

## `missing_master_key`

You need to set a master key before you can access the `/keys` route. Read more about setting a master key at launch in our [security tutorial](/resources/self_hosting/security/basic_security).

## `missing_network_url`

One of the remotes in the [network object](/reference/api/network/get-network) does not contain the `url` field.

## `missing_payload`

The Content-Type header was specified, but no request body was sent to the server or the request body is empty.

## `missing_swap_indexes`

The index swap payload is missing the [`indexes`](/reference/api/indexes/swap-indexes) object.

## `missing_task_filters`

The [cancel tasks](/reference/api/tasks/cancel-tasks) and [delete tasks](/reference/api/tasks/delete-tasks) endpoints require one of the available query parameters.

## `no_space_left_on_device`

This error occurs if:

* The host system partition reaches its maximum capacity and can no longer accept writes
* The tasks queue reaches its limit and can no longer accept writes. You can delete tasks using the [delete tasks endpoint](/reference/api/tasks/delete-tasks) to continue write operations

## `not_found`

The requested resources could not be found.

## `payload_too_large`

The payload sent to the server was too large. Check out this [guide](/resources/self_hosting/configuration/reference#payload-limit-size) to customize the maximum payload size accepted by Meilisearch.

## `task_not_found`

The requested task does not exist. Please ensure that you are using the correct [`uid`](/reference/api/tasks/get-task).

## `too_many_open_files`

Indexing a large batch of documents, such as a JSON file over 3.5GB in size, can result in Meilisearch opening too many file descriptors. Depending on your machine, this might reach your system's default resource usage limits and trigger the `too_many_open_files` error. Use [`ulimit`](https://www.ibm.com/docs/en/aix/7.1?topic=u-ulimit-command) or a similar tool to increase resource consumption limits before running Meilisearch. For example, call `ulimit -Sn 3000` in a UNIX environment to raise the number of allowed open file descriptors to 3000.

## `too_many_search_requests`

You have reached the limit of concurrent search requests. You may configure it by relaunching your instance and setting a higher value to [`--experimental-search-queue-size`](/resources/self_hosting/configuration/overview).

## `unretrievable_document`

The document exists in store, but there was an error retrieving it. This probably comes from an inconsistent state in the database.

## `vector_embedding_error`

Error while generating embeddings. Common causes include:

* **Provider unavailability**: The embedding provider service is temporarily down or unreachable. Most providers offer status pages to monitor the state of their services, such as OpenAI's [https://status.openai.com/](https://status.openai.com/). Errors of this type usually include a message stating Meilisearch "could not reach embedding server".
* **Invalid or expired API key**: The API key configured for your external embedding provider (OpenAI, Cohere, etc.) is incorrect, expired, or has exceeded its rate limit. Verify your key is valid and has sufficient quota.
* **Misconfigured embedder settings**: The [`embedders`](/reference/api/settings/get-embedders) index setting contains incorrect values, such as a wrong model name, an invalid URL for a REST embedder, or missing required fields.
* **Dimension mismatch**: The dimensions of the vectors provided or generated do not match the dimensions expected by the embedder configuration. Ensure the `dimensions` value in your embedder settings matches the output of your embedding model.
* **Input too large**: The document content sent to the embedding provider exceeds the model's maximum token or input length. Consider reducing the size of your [`documentTemplate`](/capabilities/hybrid_search/advanced/document_template_best_practices) or limiting the attributes included in it.

## `remote_bad_response`

The remote instance answered with a response that this instance could not use as a federated search response.

## `remote_bad_request`

The remote instance answered with `400 BAD REQUEST`.

## `remote_could_not_send_request`

There was an error while sending the remote federated search request.

## `remote_invalid_api_key`

The remote instance answered with `403 FORBIDDEN` or `401 UNAUTHORIZED` to this instance’s request. The configured search API key is either missing, invalid, or lacks the required search permission.

## `remote_remote_error`

The remote instance answered with `500 INTERNAL ERROR`.

## `remote_timeout`

The proxy did not answer in the allocated time.

## `webhook_not_found`

The provided webhook `uuid` does not correspond to any configured webhooks in the instance.
