The cluster allows you to invoke general maintenance actions such as rebalancing or taking a node offline by moving all of its entities to other nodes.

Actions are implemented as tasks in the cluster. Every task has a unique task_id assigned by the cluster, a task name which describes the task, a status, and additional task-specific parameters.

The REST API provides a simplified interface that allows callers to invoke actions and query their status without a specific task_id.

The action lifecycle is based on the following status and status transitions:

Action lifecycle

NameType/ValueDescription
progressfloat (range: 0-100)Represents percent completed (As of v7.4.2, the return value type changed to ‘float’ to provide improved progress indication)
statusqueuedRequested operation and added it to the queue to await processing
startingPicked up operation from the queue and started processing
runningCurrently executing operation
cancellingOperation cancellation is in progress
cancelledOperation cancelled
completedOperation completed
failedOperation failed

When a task fails, the error_code and error_message fields describe the error.

Possible error_code values:

CodeDescription
internal_errorAn internal error that cannot be mapped to a more precise error code
insufficient_resourcesThe cluster does not have sufficient resources to complete the required operation