Batches

    The /batches route gives information about the progress of batches of asynchronous operations.

    Batch object

    {
      "uid": 0,
      "details": {
        "receivedDocuments": 6,
        "indexedDocuments": 6
      },
      "stats": {
        "totalNbTasks": 1,
        "status": {
          "succeeded": 1
        },
        "types": {
          "documentAdditionOrUpdate": 1
        },
        "indexUids": {
          "INDEX_NAME": 1
        }
      },
      "duration": "PT0.250518S",
      "startedAt": "2024-12-10T15:20:30.18182Z",
      "finishedAt": "2024-12-10T15:20:30.432338Z",
      "progress": {
        "steps": [
          { 
            "currentStep": "extracting words",
            "finished": 2,
            "total": 9,
          },
          {
            "currentStep": "document",
            "finished": 30546,
            "total": 31944,
          }
        ],
        "percentage": 32.8471
      }
    }
    

    uid

    Type: Integer
    Description: Unique sequential identifier of the batch. Starts at 0 and increases by one for every new patch.

    details

    Type: Object
    Description: Basic information on the types tasks in a batch. Consult the task object reference for an exhaustive list of possible values.

    progress

    Type: Object
    Description: Object containing two fields: steps and percentage. Once Meilisearch has fully processed a batch, its progress is set to null.

    steps

    Information about the current operations Meilisearch is performing in this batch. A step may consist of multiple substeps.

    NameDescription
    currentStepA string describing the operation
    totalThe total number of operations in the step
    finishedThe number of operations Meilisearch has completed

    If Meilisearch is taking longer than expected to process a batch, monitor the steps array. If the finished field of the last item in the steps array does not update, Meilisearch may be stuck.

    percentage

    The percentage of completed operations, calculated from all current steps and substeps. This value is a rough estimate and may not always reflect the current state of the batch due to how different steps are processed more quickly than others.

    stats

    Type: Object
    Description: Detailed information on the payload of all tasks in a batch.

    totalNbTasks

    Number of tasks in the batch.

    status

    Object listing the status of each task in the batch. Contains five keys whose values correspond to the number of tasks with that status.

    types

    List with the types of tasks contained in the batch.

    indexUids

    List of the number of tasks in the batch separated by the indexes they affect.

    duration

    Type: String
    Description: The total elapsed time the batch spent in the processing state, in ISO 8601 format. Set to null while the batch is processing tasks

    startedAt

    Type: String
    Description: The date and time when the batch began processing, in RFC 3339 format

    finishedAt

    Type: String
    Description: The date and time when the tasks finished processing, whether failed, succeeded, or canceled, in RFC 3339 format

    Get batches

    GET/batches

    List all batches, regardless of index. The batch objects are contained in the results array.

    Batches are always returned in descending order of uid. This means that by default, the most recently created batch objects appear first.

    Batch results are paginated and can be filtered with query parameters.

    `/batches` parameters and tasks

    Some query parameters for /batches, such as uids and statuses, target tasks instead of batches.

    For example, ?uids=0 returns a batch containing the task with a taskUid equal to 0, instead of a batch with a batchUid equal to 0.

    Query parameters

    Query ParameterDefault ValueDescription
    uids* (all task uids)Select batches containing the tasks with the specified uids. Separate multiple task uids with a comma (,)
    batchUids* (all batch uids)Filter batches by their uid. Separate multiple batch uids with a comma (,)
    indexUids* (all indexes)Select batches containing tasks affecting the specified indexes. Separate multiple indexUids with a comma (,)
    statuses* (all statuses)Select batches containing tasks with the specified status. Separate multiple task statuses with a comma (,)
    types* (all types)Select batches containing tasks with the specified type. Separate multiple task types with a comma (,)
    limit20Number of batches to return
    fromuid of the last created batchuid of the first batch returned
    reversefalseIf true, returns results in the reverse order, from oldest to most recent
    beforeEnqueuedAt* (all tasks)Select batches containing tasks with the specified enqueuedAt field
    beforeStartedAt* (all tasks)Select batches containing tasks with the specified startedAt field
    beforeFinishedAt* (all tasks)Select batches containing tasks with the specified finishedAt field
    afterEnqueuedAt* (all tasks)Select batches containing tasks with the specified enqueuedAt field
    afterStartedAt* (all tasks)Select batches containing tasks with the specified startedAt field
    afterFinishedAt* (all tasks)Select batches containing tasks with the specified finishedAt field

    Response

    NameTypeDescription
    resultsArrayAn array of batch objects
    totalIntegerTotal number of batches matching the filter or query
    limitIntegerNumber of batches returned
    fromIntegeruid of the first batch returned
    nextIntegerValue passed to from to view the next "page" of results. When the value of next is null, there are no more tasks to view

    Example

    curl \
      -X GET 'http://localhost:7700/batches'

    Response: 200 Ok

    {
      "results": [
        {
          "uid": 2,
          "details": {
            "stopWords": [
              "of",
              "the"
            ]
          },
          "progress": null,
          "stats": {
            "totalNbTasks": 1,
            "status": {
              "succeeded": 1
            },
            "types": {
              "settingsUpdate": 1
            },
            "indexUids": {
              "INDEX_NAME": 1
            }
          },
          "duration": "PT0.110083S",
          "startedAt": "2024-12-10T15:49:04.995321Z",
          "finishedAt": "2024-12-10T15:49:05.105404Z"
        }
      ],
      "total": 3,
      "limit": 1,
      "from": 2,
      "next": 1
    }
    

    Get one batch

    GET/batches/{batch_uid}

    Get a single batch.

    Path parameters

    NameTypeDescription
    batch_uid *Stringuid of the requested batch

    Example

    curl \
      -X GET 'http://localhost:7700/batches/BATCH_UID'

    Response: 200 Ok

    {
      "uid": 1,
      "details": {
        "receivedDocuments": 1,
        "indexedDocuments": 1
      },
      "progress": null,
      "stats": {
        "totalNbTasks": 1,
        "status": {
          "succeeded": 1
        },
        "types": {
          "documentAdditionOrUpdate": 1
        },
        "indexUids": {
          "INDEX_NAME": 1
        }
      },
      "duration": "PT0.364788S",
      "startedAt": "2024-12-10T15:48:49.672141Z",
      "finishedAt": "2024-12-10T15:48:50.036929Z"
    }