# Error codes

This page is an exhaustive list of Meilisearch API errors.

# api_key_already_exists

A key with this 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.

# database_size_limit_reached

The requested database has reached its maximum size.

# document_fields_limit_reached

A document exceeds the maximum limit of 65,535 fields.

# 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.

# immutable_api_key_actions

The actions field of an API key cannot be modified.

# immutable_api_key_created_at

The createdAt field of an API key cannot be modified.

# immutable_api_key_expires_at

The expiresAt field of an API key cannot be modified.

# immutable_api_key_indexes

The indexes field of an API key cannot be modified.

# immutable_api_key_key

The key field of an API key cannot be modified.

# immutable_api_key_uid

The uid field of an API key cannot be modified.

# immutable_api_key_updated_at

The updatedAt field of an API key cannot be modified.

# immutable_index_uid

The uid field of an index cannot be modified.

# immutable_index_updated_at

The updatedAt field of an index cannot be modified.

# index_already_exists

An index with this uid already exists, check out our guide on index creation.

# index_creation_failed

An error occurred while trying to create an index, check out our guide on index creation.

# index_not_found

An index with this uid was not found, check out our guide on index creation.

# index_primary_key_already_exists

The requested index already has a primary key that cannot be changed.

# index_primary_key_multiple_candidates_found

Primary key inference failed because the received documents contain multiple fields ending with id. Use the update index endpoint to manually set a primary key.

# internal

Meilisearch experienced an internal error. Check the error message, and open an issue (opens new window) 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 dedicated guide.

# invalid_api_key_actions

The actions 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 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 field for the provided API key resource is invalid. It should either show a future date or datetime in the RFC 3339 (opens new window) format or be set to null.

# invalid_api_key_indexes

The 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 parameter is invalid. It should be an integer.

# invalid_api_key_name

The given name is invalid. It should either be a string or set to null.

# invalid_api_key_offset

The offset parameter is invalid. It should be an integer.

# invalid_api_key_uid

The given uid is invalid. The uid must follow the uuid v4 (opens new window) format.

# invalid_content_type

The Content-Type header is not supported by Meilisearch. Currently, Meilisearch only supports JSON, CSV, and NDJSON.

# invalid_document_id

The provided document identifier 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 parameter is invalid. It should be a string.

# invalid_document_limit

The limit parameter is invalid. It should be an integer.

# invalid_document_offset

The offset parameter is invalid. It should be an integer.

# 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.

# invalid_index_limit

The limit parameter is invalid. It should be an integer.

# invalid_index_offset

The offset 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.

# invalid_index_primary_key

The primaryKey field is invalid. It should either be a string or set to null.

# invalid_search_attributes_to_crop

The attributesToCrop parameter is invalid. It should be an array of strings, a string, or set to null.

# invalid_search_attributes_to_highlight

The attributesToHighlight parameter is invalid. It should be an array of strings, a string, or set to null.

# invalid_search_attributes_to_retrieve

The attributesToRetrieve parameter is invalid. It should be an array of strings, a string, or set to null.

# invalid_search_crop_length

The cropLength parameter is invalid. It should be an integer.

# invalid_search_crop_marker

The cropMarker parameter is invalid. It should be a string or set to null.

# invalid_search_facets

This error occurs if:

  • The 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

# invalid_search_filter

This error occurs if:

  • The syntax for the filter parameter is invalid
  • The attribute used for filtering is not defined in the filterableAttributes list
  • A reserved keyword like _geo, _geoDistance, or _geoPoint is used as a filter

# invalid_search_highlight_post_tag

The highlightPostTag parameter is invalid. It should be a string.

# invalid_search_highlight_pre_tag

The highlightPreTag parameter is invalid. It should be a string.

# invalid_search_hits_per_page

The hitsPerPage parameter is invalid. It should be an integer.

# invalid_search_limit

The limit parameter is invalid. It should be an integer.

# invalid_search_matching_strategy

The matchingStrategy parameter is invalid. It should either be set to last or all.

# invalid_search_offset

The offset parameter is invalid. It should be an integer.

# invalid_search_page

The page parameter is invalid. It should be an integer.

# invalid_search_q

The q parameter is invalid. It should be a string or set to null

# invalid_search_show_matches_position

The showMatchesPosition 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 parameter is invalid
  • The attribute used for sorting is not defined in the sortableAttributes list or the sort ranking rule is missing from the settings
  • A reserved keyword like _geo, _geoDistance, or _geoPoint is used as a filter

# invalid_settings_displayed_attributes

The value of displayed attributes 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 is invalid. It should be a string or set to null.

# invalid_settings_faceting

The value for the maxValuesPerFacet field is invalid. It should either be an integer or set to null.

# invalid_settings_filterable_attributes

The value of filterable attributes is invalid. It should be an empty array, an array of strings, or set to null.

# invalid_settings_pagination

The value for the maxTotalHits field is invalid. It should either be an integer or set to null.

# invalid_settings_ranking_rules

This error occurs if:

  • The settings payload has an invalid format
  • A non-existent ranking rule is specified
  • A custom ranking rule is malformed
  • A reserved keyword like _geo, _geoDistance, or _geoPoint is used as a custom ranking rule

# invalid_settings_searchable_attributes

The value of searchable attributes is invalid. It should be an empty array, an array of strings or set to null.

# invalid_settings_sortable_attributes

The value of sortable attributes 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 is invalid. It should be an empty array, an array of strings or set to null.

# invalid_settings_synonyms

The value of the synonyms is invalid. It should either be an object or set to null.

# invalid_settings_typo_tolerance

This error occurs if:

  • The enabled field is invalid. It should either be a boolean or set to null
  • The disableOnAttributes field is invalid. It should either be an array of strings or set to null
  • The disableOnWords field is invalid. It should either be an array of strings or set to null
  • The minWordSizeForTypos field is invalid. It should either be an integer or set to null
  • The value of either oneTypo or twoTypos is invalid. It should either be an integer or set to null

# 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 .mdb 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 array for a swap index 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 for a swap operation
  • The payload contains an invalid index name in the indexes array

# invalid_task_after_enqueued_at

The afterEnqueuedAt query parameter is invalid.

# invalid_task_after_finished_at

The afterFinishedAt query parameter is invalid.

# invalid_task_after_started_at

The afterStartedAt query parameter is invalid.

# invalid_task_before_enqueued_at

The beforeEnqueuedAt query parameter is invalid.

# invalid_task_before_finished_at

The beforeFinishedAt query parameter is invalid.

# invalid_task_before_started_at

The beforeStartedAt query parameter is invalid.

# invalid_task_canceled_by

The canceledBy query parameter is invalid. It should be an integer. Multiple uids should be separated by commas (,).

# invalid_task_index_uids

The indexUids query parameter contains an invalid index uid.

# invalid_task_limit

The limit parameter is invalid. It must be an integer.

# invalid_task_statuses

The requested task status is invalid. Please use one of the possible values.

# invalid_task_types

The requested task type is invalid. Please use one of the possible values.

# invalid_task_uids

The uids query parameter is invalid.

# 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 failed as the received documents do not contain any fields ending with id. Manually designate the primary key, or add some field ending with id to your documents.

# malformed_payload

The Content-Type header does not match the request body payload format or the format is invalid.

# missing_api_key_actions

The actions field is missing from payload.

# missing_api_key_expires_at

The expiresAt field is missing from payload.

# missing_api_key_indexes

The 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 guide on security for more information
  • You are using the wrong authorization header for your version. v0.24 and below use X-MEILI-API-KEY: apiKey, whereas v0.25 and above use Authorization: Bearer apiKey

# missing_content_type

The payload does not contain a Content-Type header. Currently, Meilisearch only supports JSON, CSV, and NDJSON.

# 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 field.

# 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 dedicated guide.

# 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 object.

# missing_task_filters

The cancel tasks and delete tasks endpoints require one of the available query parameters.

# no_space_left_on_device

The host system partition has reached its maximum capacity and can no longer accept writes.

# 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 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.

# 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 (opens new window) 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.

# unretrievable_document

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