Cancel an ongoing reindex task

  • POST /_reindex/{task_id}/_cancel

If wait_for_completion is true (the default), the response contains the final task state after cancellation. If wait_for_completion is false, the response contains only acknowledged: true.

This API follows reindex tasks across node-shutdown relocations, so callers can keep using the original task ID throughout the lifetime of the operation. Returned task IDs and timings reflect the original task, not its relocated successor. Relocated task IDs are also supported. They are followed transparently and return the task ID and timings of the original task.

When the task ID cannot be cancelled (unknown ID, non-reindex task, sliced child, finished task, or node left with no stored result), the API returns the following response with a 404 status code:

{
  "error": {
    "type": "resource_not_found_exception",
    "reason": "reindex task [r1A2WoRbTwKZ516z6NEs5A:36619] either not found or completed"
  },
  "status": 404
}
		

During a brief handoff window of a node-shutdown relocation, you may receive the response below with a 503 status code. Retry with the same task ID; the retry follows the relocated task transparently.

{
  "error": {
    "type": "status_exception",
    "reason": "cannot cancel task [36619] because it is being relocated"
  },
  "status": 503
}
		

Path Parameters

task_id string TaskId required

The ID of the reindex task to cancel.

Query Parameters

wait_for_completion boolean · default: true

If true (the default), the request blocks until the cancellation is complete and returns the final task state. If false, the request returns immediately with acknowledged: true.

Response