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

# List tasks

> The `/tasks` route returns information about [asynchronous operations](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html) (indexing, document updates, settings changes, and so on).

Tasks are returned in descending order of uid by default, so the most recently created or updated tasks appear first. Results are paginated and can be filtered using query parameters such as `indexUids`, `statuses`, `types`, and date ranges.



## OpenAPI

````yaml /assets/open-api/meilisearch-openapi-mintlify.json get /tasks
openapi: 3.1.0
info:
  title: meilisearch
  description: Meilisearch HTTP server
  contact:
    name: Quentin de Quelen
    email: quentin@dequelen.me
  license:
    name: MIT
    identifier: MIT
  version: 1.41.0
servers:
  - url: http://localhost:7700
    description: Local server.
security: []
tags:
  - name: Stats
    description: >-
      Stats gives extended information and metrics about indexes and the
      Meilisearch database.
  - name: Health
    description: >-
      The health check endpoint enables you to periodically test the health of
      your Meilisearch instance.
  - name: Version
    description: Returns the version of the running Meilisearch instance.
  - name: Backups
    description: >-
      Meilisearch offers two types of backups: snapshots and dumps. Snapshots
      are mainly intended as a safeguard, while dumps are useful when migrating
      Meilisearch.
  - name: Export
    description: >-
      Export documents and settings from this instance to a remote Meilisearch
      server.
  - name: Async task management
    description: >-
      Routes for listing and managing batches and tasks (asynchronous
      operations).
  - name: Chats
    description: The `/chats` route allows you to manage chat workspaces.
  - name: Tasks
    description: >-
      The tasks route gives information about the progress of the [asynchronous
      operations](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html).
  - name: Batches
    description: >-
      Meilisearch groups compatible tasks ([asynchronous
      operations](https://www.meilisearch.com/docs/learn/async/asynchronous_operations))
      into batches for efficient processing. For example, multiple document
      additions to the same index may be batched together. The /batches routes
      give information about the progress of these batches and let you monitor
      batch progress and performance.
  - name: Indexes
    description: >-
      An index is an entity that gathers a set of
      [documents](https://www.meilisearch.com/docs/learn/getting_started/documents)
      with its own
      [settings](https://www.meilisearch.com/docs/reference/api/settings). Learn
      more about indexes.
  - name: Documents
    description: >-
      Documents are objects composed of fields that can store any type of data.
      Each field contains an attribute and its associated value. Documents are
      stored inside
      [indexes](https://www.meilisearch.com/docs/learn/getting_started/indexes).
  - name: Facet Search
    description: >-
      The `/facet-search` route allows you to search for facet values. Facet
      search supports prefix search and typo tolerance. The returned hits are
      sorted lexicographically in ascending order. You can configure how facets
      are sorted using the sortFacetValuesBy property of the faceting index
      settings.
  - name: Similar documents
    description: >-
      The /similar route uses AI-powered search to return a number of documents
      similar to a target document.


      Meilisearch exposes two routes for retrieving similar documents: POST and
      GET. In the majority of cases, POST will offer better performance and ease
      of use.
  - name: Settings
    description: >-
      Configure search and index behavior. Update all settings at once via PATCH
      /indexes/{indexUid}/settings, or use a sub-route to get, update, or reset
      a single setting.
  - name: Search
    description: >-
      Meilisearch exposes two routes to perform searches:


      - A POST route: this is the preferred route when using API authentication,
      as it allows [preflight
      request](https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request)
      caching and better performance.

      - A GET route: the usage of this route is discouraged, unless you have
      good reason to do otherwise (specific caching abilities for example)
    externalDocs:
      url: https://www.meilisearch.com/docs/reference/api/search
      description: Search API reference
  - name: Keys
    description: >-
      Manage API `keys` for a Meilisearch instance. Each key has a given set of
      permissions.

      You must have the master key or the default admin key to access the keys
      route. More information about the keys and their rights.

      Accessing any route under `/keys` without having set a master key will
      result in an error.
  - name: Logs
    description: >-
      Everything about retrieving or customizing logs.

      Currently
      [experimental](https://www.meilisearch.com/docs/learn/experimental/overview).
  - name: Multi-search
    description: >-
      The `/multi-search` route allows you to perform multiple search queries on
      one or more indexes by bundling them into a single HTTP request.
      Multi-search is also known as federated search.
  - name: Experimental features
    description: >-
      The `/experimental-features` route allows you to activate or deactivate
      some of Meilisearch's experimental features.


      This route is **synchronous**. This means that no task object will be
      returned, and any activated or deactivated features will be made available
      or unavailable immediately.
  - name: Network
    description: >-
      The `/network` route allows you to describe the topology of a network of
      Meilisearch instances.


      This route is **synchronous**. This means that no task object will be
      returned, and any change to the network will be made available
      immediately.
  - name: Webhooks
    description: >-
      The `/webhooks` route allows you to register endpoints to be called once
      tasks are processed.
  - name: Dynamic search rules
    description: >-
      The `/dynamic-search-rules` route allows you to configure dynamic search
      rules.
paths:
  /tasks:
    get:
      tags:
        - Async task management
      summary: List tasks
      description: >-
        The `/tasks` route returns information about [asynchronous
        operations](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html)
        (indexing, document updates, settings changes, and so on).


        Tasks are returned in descending order of uid by default, so the most
        recently created or updated tasks appear first. Results are paginated
        and can be filtered using query parameters such as `indexUids`,
        `statuses`, `types`, and date ranges.
      operationId: get_tasks
      parameters:
        - name: limit
          in: query
          description: Maximum number of batches to return.
          required: false
          schema:
            type: integer
            format: u-int32
            default: 20
            minimum: 0
          example: 12
        - name: from
          in: query
          description: '`uid` of the first batch returned.'
          required: false
          schema:
            type: integer
            format: u-int32
            minimum: 0
          example: 12421
        - name: reverse
          in: query
          description: >-
            If `true`, returns results in the reverse order, from oldest to most
            recent.
          required: false
          schema:
            type: boolean
          example: true
        - name: batchUids
          in: query
          description: |-
            Permits to filter tasks by their batch uid. By default, when the
            `batchUids` query parameter is not set, all task uids are returned.
            It's possible to specify several batch uids by separating them with
            the `,` character.
          required: false
          schema:
            type: integer
            format: u-int32
            minimum: 0
          example: 12421
        - name: uids
          in: query
          description: >-
            Permits to filter tasks by their uid. By default, when the uids
            query

            parameter is not set, all task uids are returned. It's possible to

            specify several uids by separating them with the `,` character.
          required: false
          schema:
            type: array
            items:
              type: integer
              format: u-int32
              minimum: 0
          example:
            - 231
            - 423
            - 598
        - name: canceledBy
          in: query
          description: >-
            Permits to filter tasks using the uid of the task that canceled
            them.

            It's possible to specify several task uids by separating them with

            the `,` character.
          required: false
          schema:
            type: array
            items:
              type: integer
              format: u-int32
              minimum: 0
          example:
            - 374
        - name: types
          in: query
          description: >-
            Permits to filter tasks by their related type. By default, when
            `types`

            query parameter is not set, all task types are returned. It's
            possible

            to specify several types by separating them with the `,` character.
          required: false
          schema:
            type: array
            items:
              type: string
          example:
            - documentAdditionOrUpdate
        - name: statuses
          in: query
          description: |-
            Permits to filter tasks by their status. By default, when `statuses`
            query parameter is not set, all task statuses are returned. It's
            possible to specify several statuses by separating them with the `,`
            character.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Status'
          example:
            - succeeded
            - failed
            - canceled
            - enqueued
            - processing
        - name: indexUids
          in: query
          description: >-
            Permits to filter tasks by their related index. By default, when

            `indexUids` query parameter is not set, the tasks of all the indexes

            are returned. It is possible to specify several indexes by
            separating

            them with the `,` character.
          required: false
          schema:
            type: array
            items:
              type: string
          example:
            - movies
            - theater
        - name: afterEnqueuedAt
          in: query
          description: >-
            Permits to filter tasks based on their enqueuedAt time. Matches
            tasks

            enqueued after the given date. Supports RFC 3339 date format.
          required: false
          schema:
            type: string
          example: '2024-08-08T16:37:09.971Z'
        - name: beforeEnqueuedAt
          in: query
          description: >-
            Permits to filter tasks based on their enqueuedAt time. Matches
            tasks

            enqueued before the given date. Supports RFC 3339 date format.
          required: false
          schema:
            type: string
          example: '2024-08-08T16:37:09.971Z'
        - name: afterStartedAt
          in: query
          description: |-
            Permits to filter tasks based on their startedAt time. Matches tasks
            started after the given date. Supports RFC 3339 date format.
          required: false
          schema:
            type: string
          example: '2024-08-08T16:37:09.971Z'
        - name: beforeStartedAt
          in: query
          description: |-
            Permits to filter tasks based on their startedAt time. Matches tasks
            started before the given date. Supports RFC 3339 date format.
          required: false
          schema:
            type: string
          example: '2024-08-08T16:37:09.971Z'
        - name: afterFinishedAt
          in: query
          description: >-
            Permits to filter tasks based on their finishedAt time. Matches
            tasks

            finished after the given date. Supports RFC 3339 date format.
          required: false
          schema:
            type: string
          example: '2024-08-08T16:37:09.971Z'
        - name: beforeFinishedAt
          in: query
          description: >-
            Permits to filter tasks based on their finishedAt time. Matches
            tasks

            finished before the given date. Supports RFC 3339 date format.
          required: false
          schema:
            type: string
          example: '2024-08-08T16:37:09.971Z'
      responses:
        '200':
          description: The list of tasks is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllTasks'
              example:
                results:
                  - uid: 144
                    indexUid: mieli
                    status: succeeded
                    type: indexCreation
                    canceledBy: null
                    details: null
                    error: null
                    duration: PT0.009330S
                    enqueuedAt: '2024-08-08T09:01:13.348471Z'
                    startedAt: '2024-08-08T09:01:13.349442Z'
                    finishedAt: '2024-08-08T09:01:13.358772Z'
                total: 1
                limit: 1
                from: 144
                next: null
        '401':
          description: The authorization header is missing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseError'
              example:
                message: >-
                  The Authorization header is missing. It must use the bearer
                  authorization method.
                code: missing_authorization_header
                type: auth
                link: >-
                  https://docs.meilisearch.com/errors#missing_authorization_header
      security:
        - Bearer:
            - tasks.get
            - tasks.*
            - '*'
      x-codeSamples:
        - lang: cURL
          source: |-
            curl \
              -X GET 'MEILISEARCH_URL/tasks'
        - lang: JS
          source: client.tasks.getTasks()
        - lang: PHP
          source: $client->getTasks();
        - lang: Python
          source: client.get_tasks()
        - lang: Java
          source: client.getTasks();
        - lang: Ruby
          source: client.tasks
        - lang: Go
          source: client.GetTasks(nil);
        - lang: C#
          source: ResourceResults<Task> taskResult = await client.GetTasksAsync();
        - lang: Rust
          source: |-
            let tasks: TasksResults = client
              .get_tasks()
              .await
              .unwrap();
        - lang: Dart
          source: await client.getTasks();
        - lang: Swift
          source: |-
            client.getTasks { (result) in
                switch result {
                case .success(let tasks):
                    print(tasks)
                case .failure(let error):
                    print(error)
                }
            }
components:
  schemas:
    Status:
      type: string
      description: The status of a task.
      enum:
        - enqueued
        - processing
        - succeeded
        - failed
        - canceled
      example: processing
    AllTasks:
      type: object
      description: Response containing a paginated list of tasks
      required:
        - results
        - total
        - limit
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/TaskView'
          description: Array of task objects matching the query
        total:
          type: integer
          format: u-int64
          description: Total number of tasks matching the query
          minimum: 0
        limit:
          type: integer
          format: u-int32
          description: Maximum number of tasks returned
          minimum: 0
        from:
          type:
            - integer
            - 'null'
          format: u-int32
          description: The first task uid returned
          minimum: 0
        next:
          type:
            - integer
            - 'null'
          format: u-int32
          description: >-
            Value to send in from to fetch the next slice of results. Null when
            all data has been browsed
          minimum: 0
    ResponseError:
      type: object
      required:
        - message
        - code
        - type
        - link
      properties:
        message:
          type: string
          description: The error message.
        code:
          $ref: '#/components/schemas/Code'
          description: The error code.
        type:
          $ref: '#/components/schemas/ErrorType'
          description: The error type.
        link:
          type: string
          description: A link to the documentation about this specific error.
    TaskView:
      type: object
      description: |-
        Represents the current state and details of an asynchronous task.

        Tasks are created when you perform operations like adding documents,
        updating settings, or creating indexes. Use this view to monitor task
        progress and check for errors.
      required:
        - uid
        - status
        - type
        - enqueuedAt
      properties:
        uid:
          type: integer
          format: u-int32
          description: >-
            The unique sequential identifier assigned to this task. Task UIDs
            are

            assigned in order of creation and can be used to retrieve specific

            task information or track task dependencies.
          example: 4312
          minimum: 0
        batchUid:
          type:
            - integer
            - 'null'
          format: u-int32
          description: >-
            The unique identifier of the batch that processed this task.
            Multiple

            tasks may share the same batch UID if they were processed together

            for efficiency. This is `null` for tasks that haven't been
            processed.
          example: 12
          minimum: 0
        indexUid:
          type:
            - string
            - 'null'
          description: |-
            The unique identifier of the index this task operates on. This is
            `null` for global tasks like `dumpCreation` or `taskDeletion` that
            don't target a specific index.
        status:
          $ref: '#/components/schemas/Status'
          description: |-
            The current processing status of the task. Possible values are:
            `enqueued` (waiting), `processing` (executing), `succeeded`,
            `failed`, or `canceled`.
        type:
          $ref: '#/components/schemas/Kind'
          description: |-
            The type of operation this task performs. Examples include
            `documentAdditionOrUpdate`, `documentDeletion`, `settingsUpdate`,
            `indexCreation`, `indexDeletion`, `dumpCreation`, etc.
        canceledBy:
          type:
            - integer
            - 'null'
          format: u-int32
          description: |-
            If this task was canceled, this field contains the UID of the
            `taskCancelation` task that canceled it. This is `null` for tasks
            that were not canceled.
          example: 4326
          minimum: 0
        details:
          type:
            - object
            - 'null'
          description: >-
            Contains type-specific information about the task, such as the
            number

            of documents processed, settings that were applied, or filters that

            were used. The structure varies depending on the task type.
        error:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ResponseError'
              description: >-
                If the task failed, this field contains detailed error
                information

                including an error message, error code, error type, and a link
                to

                documentation. This is `null` for tasks that succeeded or are
                still

                processing.
        duration:
          type:
            - string
            - 'null'
          description: |-
            The total time spent processing this task, formatted as an ISO-8601
            duration (e.g., `PT0.5S` for 0.5 seconds). This is `null` for tasks
            that haven't finished processing yet.
          example: null
        enqueuedAt:
          type: string
          description: |-
            The timestamp when this task was added to the queue, formatted as an
            RFC 3339 date-time string. All tasks have an enqueued timestamp as
            it's set when the task is created.
          example: 2024-08-08_14:12:09.393Z
        startedAt:
          type: string
          description: |-
            The timestamp when Meilisearch began processing this task, formatted
            as an RFC 3339 date-time string. This is `null` for tasks that are
            still in the queue waiting to be processed.
          example: 2024-08-08_14:12:09.393Z
        finishedAt:
          type: string
          description: >-
            The timestamp when this task finished processing (whether
            successfully

            or with an error), formatted as an RFC 3339 date-time string. This
            is

            `null` for tasks that haven't finished yet.
          example: 2024-08-08_14:12:09.393Z
        network:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/DbTaskNetwork'
              description: >-
                Network topology information for distributed deployments.
                Contains

                details about which nodes are involved in processing this task.
                This

                is only present when running Meilisearch in a distributed
                config.
        customMetadata:
          type:
            - string
            - 'null'
          description: |-
            Custom metadata string that was attached to this task when it was
            created. This can be used to associate tasks with external systems,
            track task origins, or add any application-specific information.
    Code:
      type: string
      enum:
        - api_key_already_exists
        - api_key_not_found
        - bad_parameter
        - bad_request
        - database_size_limit_reached
        - document_not_found
        - dump_already_processing
        - dump_not_found
        - dump_process_failed
        - duplicate_index_found
        - immutable_api_key_actions
        - immutable_api_key_created_at
        - immutable_api_key_expires_at
        - immutable_api_key_indexes
        - immutable_api_key_key
        - immutable_api_key_uid
        - immutable_api_key_updated_at
        - immutable_index_created_at
        - immutable_index_updated_at
        - import_task_already_received
        - import_task_unknown_remote
        - receive_import_finished_unknown_remote
        - import_task_without_network_task
        - index_already_exists
        - index_creation_failed
        - index_not_found
        - index_primary_key_already_exists
        - index_primary_key_multiple_candidates_found
        - index_primary_key_no_candidate_found
        - internal
        - invalid_api_key
        - invalid_api_key_actions
        - invalid_api_key_description
        - invalid_api_key_expires_at
        - invalid_api_key_indexes
        - invalid_api_key_limit
        - invalid_api_key_name
        - invalid_api_key_offset
        - invalid_api_key_uid
        - invalid_content_type
        - invalid_document_csv_delimiter
        - invalid_document_fields
        - invalid_document_retrieve_vectors
        - missing_document_filter
        - missing_document_edition_function
        - inconsistent_document_change_headers
        - invalid_document_filter
        - invalid_document_sort
        - invalid_document_geo_field
        - invalid_document_geojson_field
        - invalid_header_value
        - invalid_vector_dimensions
        - invalid_vectors_type
        - invalid_document_id
        - invalid_document_ids
        - invalid_document_limit
        - invalid_document_offset
        - invalid_search_embedder
        - invalid_similar_embedder
        - invalid_search_hybrid_query
        - invalid_index_limit
        - invalid_index_offset
        - invalid_index_primary_key
        - invalid_index_custom_metadata
        - invalid_skip_creation
        - invalid_index_uid
        - invalid_multi_search_facets
        - invalid_multi_search_facets_by_index
        - invalid_multi_search_facet_order
        - invalid_multi_search_query_personalization
        - invalid_multi_search_query_show_performance_details
        - invalid_multi_search_federated
        - invalid_multi_search_federation_options
        - invalid_multi_search_max_values_per_facet
        - invalid_multi_search_merge_facets
        - invalid_multi_search_query_facets
        - invalid_multi_search_distinct
        - invalid_multi_search_query_pagination
        - invalid_multi_search_query_ranking_rules
        - invalid_multi_search_query_position
        - invalid_multi_search_remote
        - invalid_multi_search_weight
        - invalid_network_leader
        - invalid_network_remotes
        - invalid_network_shards
        - invalid_network_self
        - invalid_network_search_api_key
        - invalid_network_write_api_key
        - invalid_network_url
        - invalid_search_attributes_to_search_on
        - invalid_search_attributes_to_crop
        - invalid_search_attributes_to_highlight
        - invalid_similar_attributes_to_retrieve
        - invalid_similar_retrieve_vectors
        - invalid_search_attributes_to_retrieve
        - invalid_search_ranking_score_threshold
        - invalid_similar_ranking_score_threshold
        - invalid_search_retrieve_vectors
        - invalid_search_crop_length
        - invalid_search_crop_marker
        - invalid_search_facets
        - invalid_search_semantic_ratio
        - invalid_search_locales
        - invalid_facet_search_exhaustive_facet_count
        - invalid_facet_search_facet_name
        - invalid_similar_id
        - invalid_search_filter
        - invalid_similar_filter
        - invalid_search_highlight_post_tag
        - invalid_search_highlight_pre_tag
        - invalid_search_hits_per_page
        - invalid_similar_limit
        - invalid_search_limit
        - invalid_search_matching_strategy
        - invalid_similar_offset
        - invalid_search_offset
        - invalid_search_page
        - invalid_search_q
        - invalid_facet_search_query
        - invalid_facet_search_name
        - facet_search_disabled
        - invalid_search_vector
        - invalid_search_media
        - invalid_search_show_matches_position
        - invalid_search_show_ranking_score
        - invalid_similar_show_ranking_score
        - invalid_search_show_ranking_score_details
        - invalid_search_show_performance_details
        - invalid_search_use_network
        - invalid_similar_show_ranking_score_details
        - invalid_similar_show_performance_details
        - invalid_search_sort
        - invalid_search_distinct
        - invalid_search_personalize
        - invalid_search_personalize_user_context
        - invalid_search_media_and_vector
        - invalid_settings_displayed_attributes
        - invalid_settings_distinct_attribute
        - invalid_settings_proximity_precision
        - invalid_settings_facet_search
        - invalid_settings_prefix_search
        - invalid_settings_faceting
        - invalid_settings_filterable_attributes
        - invalid_settings_foreign_keys
        - invalid_settings_pagination
        - invalid_settings_search_cutoff_ms
        - invalid_settings_embedders
        - invalid_settings_ranking_rules
        - invalid_settings_searchable_attributes
        - invalid_settings_sortable_attributes
        - invalid_settings_stop_words
        - invalid_settings_non_separator_tokens
        - invalid_settings_separator_tokens
        - invalid_settings_dictionary
        - invalid_settings_synonyms
        - invalid_settings_typo_tolerance
        - invalid_settings_localized_attributes
        - invalid_state
        - invalid_store_file
        - invalid_swap_duplicate_index_found
        - invalid_swap_indexes
        - invalid_swap_rename
        - invalid_task_after_enqueued_at
        - invalid_task_after_finished_at
        - invalid_task_after_started_at
        - invalid_task_before_enqueued_at
        - invalid_task_before_finished_at
        - invalid_task_before_started_at
        - invalid_task_canceled_by
        - invalid_task_from
        - invalid_task_limit
        - invalid_task_reverse
        - invalid_task_statuses
        - invalid_task_types
        - invalid_task_uids
        - invalid_batch_uids
        - io_error
        - feature_not_enabled
        - malformed_payload
        - max_fields_limit_exceeded
        - missing_api_key_actions
        - missing_api_key_expires_at
        - missing_api_key_indexes
        - missing_authorization_header
        - missing_content_type
        - missing_document_id
        - missing_facet_search_facet_name
        - missing_index_uid
        - missing_master_key
        - missing_network_url
        - missing_payload
        - missing_search_hybrid
        - missing_swap_indexes
        - missing_task_filters
        - network_version_mismatch
        - no_space_left_on_device
        - not_leader
        - payload_too_large
        - remote_bad_response
        - remote_bad_request
        - remote_could_not_send_request
        - remote_invalid_api_key
        - remote_remote_error
        - remote_timeout
        - too_many_search_requests
        - task_not_found
        - task_file_not_found
        - batch_not_found
        - too_many_open_files
        - too_many_vectors
        - unexpected_network_previous_remotes
        - network_version_too_old
        - unprocessed_network_task
        - unretrievable_document
        - unretrievable_error_code
        - unsupported_media_type
        - invalid_s3_snapshot_request
        - invalid_s3_snapshot_parameters
        - s3_snapshot_server_error
        - vector_embedding_error
        - not_found_similar_id
        - invalid_document_edition_context
        - invalid_document_edition_function_filter
        - edit_documents_by_function_error
        - invalid_settings_index_chat
        - invalid_export_url
        - invalid_export_api_key
        - invalid_export_payload_size
        - invalid_export_indexes_patterns
        - invalid_export_index_filter
        - invalid_export_index_override_settings
        - unimplemented_external_function_calling
        - unimplemented_non_streaming_chat_completions
        - unimplemented_multi_choice_chat_completions
        - chat_not_found
        - invalid_chat_setting_document_template
        - invalid_chat_completion_org_id
        - invalid_chat_completion_project_id
        - invalid_chat_completion_api_version
        - invalid_chat_completion_deployment_id
        - invalid_chat_completion_source
        - invalid_chat_completion_base_api
        - invalid_chat_completion_api_key
        - invalid_chat_completion_prompts
        - invalid_chat_completion_system_prompt
        - invalid_chat_completion_search_description_prompt
        - invalid_chat_completion_search_query_param_prompt
        - invalid_chat_completion_search_filter_param_prompt
        - invalid_chat_completion_search_index_uid_param_prompt
        - invalid_chat_completion_pre_query_prompt
        - invalid_index_fields_filter
        - invalid_index_fields_filter_attribute_patterns
        - invalid_index_fields_filter_displayed
        - invalid_index_fields_filter_searchable
        - invalid_index_fields_filter_sortable
        - invalid_index_fields_filter_distinct
        - invalid_index_fields_filter_ranking_rule
        - invalid_index_fields_filter_filterable
        - requires_enterprise_edition
        - invalid_webhooks
        - invalid_webhook_url
        - invalid_webhook_headers
        - immutable_webhook
        - invalid_webhook_uuid
        - webhook_not_found
        - immutable_webhook_uuid
        - immutable_webhook_is_editable
        - invalid_dynamic_search_rule_offset
        - invalid_dynamic_search_rule_limit
        - invalid_dynamic_search_rule_filter
        - invalid_dynamic_search_rule_description
        - invalid_dynamic_search_rule_priority
        - invalid_dynamic_search_rule_active
        - invalid_dynamic_search_rule_conditions
        - invalid_dynamic_search_rule_actions
        - invalid_dynamic_search_rule_filter_attribute_patterns
        - invalid_dynamic_search_rule_filter_active
        - dynamic_search_rule_not_found
    ErrorType:
      type: string
      enum:
        - internal
        - invalid_request
        - auth
        - system
    Kind:
      type: string
      description: The type of the task.
      enum:
        - documentAdditionOrUpdate
        - documentEdition
        - documentDeletion
        - settingsUpdate
        - indexCreation
        - indexDeletion
        - indexUpdate
        - indexSwap
        - taskCancelation
        - taskDeletion
        - dumpCreation
        - snapshotCreation
        - export
        - upgradeDatabase
        - indexCompaction
        - networkTopologyChange
      example: documentAdditionOrUpdate
    DbTaskNetwork:
      oneOf:
        - type: object
          description: Tasks that were duplicated from `origin`
          required:
            - origin
          properties:
            origin:
              $ref: '#/components/schemas/Origin'
        - type: object
          description: Tasks that were duplicated as `remote_tasks`
          required:
            - remote_tasks
          properties:
            remote_tasks:
              type: object
              additionalProperties:
                $ref: '#/components/schemas/RemoteTask'
              propertyNames:
                type: string
            network_version:
              type: string
              format: uuid
        - type: object
          description: Document import tasks sent in the context of `network_change`
          required:
            - import_from
            - network_change
          properties:
            import_from:
              $ref: '#/components/schemas/ImportData'
            network_change:
              $ref: '#/components/schemas/Origin'
    Origin:
      type: object
      description: |-
        Information about the origin of a task in a distributed Meilisearch
        deployment. This tracks where a task was originally created before being
        replicated to other nodes.
      required:
        - remoteName
        - taskUid
      properties:
        remoteName:
          type: string
          description: >-
            The name of the remote Meilisearch instance where this task
            originated.

            This corresponds to a remote defined in the network configuration.
        taskUid:
          type: integer
          format: u-int32
          description: |-
            The unique task identifier on the originating remote. This allows
            tracking the same task across different nodes in the network.
          minimum: 0
        networkVersion:
          type: string
          format: uuid
          description: >-
            The version of the network topology when this task was created. Used
            to

            ensure consistent task routing during network topology changes.
    RemoteTask:
      type: object
      description: |-
        Represents a task that was replicated to a remote Meilisearch instance.
        Contains either the remote task UID on success, or an error if
        replication failed.
      properties:
        taskUid:
          type:
            - integer
            - 'null'
          format: u-int32
          description: >-
            The unique task identifier assigned by the remote Meilisearch
            instance.

            Present when the task was successfully replicated to the remote.
          minimum: 0
        error:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ResponseError'
              description: >-
                Error details if the task failed to replicate to this remote.
                Contains

                the error message, code, and type from the remote instance.
    ImportData:
      type: object
      description: Import data stored in a task
      required:
        - remoteName
        - documentCount
      properties:
        remoteName:
          type: string
          description: Remote that this task is imported from
        indexName:
          type:
            - string
            - 'null'
          description: Index relevant to this task
        documentCount:
          type: integer
          format: u-int64
          description: Number of documents in this task
          minimum: 0
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: Uuidv4, string or JWT
      description: >-
        An API key is a token that you provide when making API calls. Read more
        about [how to secure your
        project](https://www.meilisearch.com/docs/learn/security/basic_security).


        Include the API key to the `Authorization` header, for instance:

        ```bash

        -H 'Authorization: Bearer 6436fc5237b0d6e0d64253fbaac21d135012ecf1'

        ```


        If you use a SDK, ensure you instantiate the client with the API key,
        for instance with [JS
        SDK](https://github.com/meilisearch/meilisearch-js):

        ```js

        const client = new Meilisearch({
          host: 'MEILISEARCH_URL',
          apiKey: '6436fc5237b0d6e0d64253fbaac21d135012ecf1'
        });

        ```

````