{
  "id": "actions",
  "title": "Cluster actions requests",
  "url": "https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/cluster/actions/",
  "summary": "Cluster action requests",
  "content": "\n| Method | Path | Description |\n|--------|------|-------------|\n| [GET](#get-all-cluster-actions) | `/v1/cluster/actions` | Get the status of all actions  |\n| [GET](#get-cluster-action) | `/v1/cluster/actions/{action}` | Get the status of a specific action |\n| [POST](#post-cluster-action) | `/v1/cluster/actions/{action}` | Initiate a cluster-wide action |\n| [DELETE](#delete-cluster-action) | `/v1/cluster/actions/{action}` | Cancel action or remove action status |\n\n## Get all cluster actions {#get-all-cluster-actions}\n\n\tGET /v1/cluster/actions\n\nGet the status of all currently executing, queued, or completed cluster actions.\n\n#### Required permissions\n\n| Permission name |\n|-----------------|\n| [view_status_of_cluster_action]() |\n\n### Request {#get-all-request} \n\n#### Example HTTP request\n\n    GET /v1/cluster/actions\n\n### Response {#get-all-response} \n\nReturns a JSON array of [action objects](). \n\n#### Example JSON body\n\n```json\n{\n    \"actions\": [\n        {\n            \"name\": \"action_name\",\n            \"status\": \"queued\",\n            \"progress\": 0.0\n        }\n    ]\n}\n```\n\n### Status codes {#get-all-status-codes} \n\n| Code | Description |\n|------|-------------|\n| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error, response provides info about an ongoing action. |\n| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Action does not exist (i.e. not currently running and no available status of last run). |\n\n## Get cluster action {#get-cluster-action}\n\n\tGET /v1/cluster/actions/{action}\n\nGet the status of a currently executing, queued, or completed cluster action.\n\n#### Required permissions\n\n| Permission name |\n|-----------------|\n| [view_status_of_cluster_action]() |\n\n### Request {#get-request} \n\n#### Example HTTP request\n\n    GET /v1/cluster/actions/action_name\n\n#### URL parameters\n\n| Field | Type | Description |\n|-------|------|-------------|\n| action | string | The action to check. |\n\n### Response {#get-response} \n\nReturns an [action object](). \n\n#### Example JSON body\n\n```json\n{\n    \"name\": \"action_name\",\n     \"status\": \"queued\",\n    \"progress\": 0.0\n}\n```\n\n### Status codes {#get-status-codes} \n\n| Code | Description |\n|------|-------------|\n| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error, response provides info about an ongoing action. |\n| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Action does not exist (i.e. not currently running and no available status of last run). |\n\n## Initiate cluster-wide action {#post-cluster-action}\n\n\tPOST /v1/cluster/actions/{action}\n\nInitiate a cluster-wide action.\n\nThe API allows only a single instance of any action type to be\ninvoked at the same time, and violations of this requirement will\nresult in a `409 CONFLICT` response.\n\nThe caller is expected to query and process the results of the\npreviously executed instance of the same action, which will be\nremoved as soon as the new one is submitted.\n\n#### Required permissions\n\n| Permission name |\n|-----------------|\n| [start_cluster_action]() |\n\n### Request {#post-request} \n\n#### Example HTTP request\n\n    POST /v1/cluster/actions/action_name\n\n#### URL parameters\n\n| Field | Type | Description |\n|-------|------|-------------|\n| action | string | The name of the action required. |\n\nSupported cluster actions:\n\n- `change_master`: Promotes a specified node to become the primary node of the cluster, which coordinates cluster-wide operations. Include the `node_uid` of the node you want to promote in the request body.\n\n    ```sh\n    POST /v1/cluster/actions/change_master\n    {\n        \"node_uid\": \"2\"\n    }\n    ```\n\n### Response {#post-response} \n\nThe body content may provide additional action details. Currently, it is not used. \n\n### Status codes {#post-status-codes} \n\n| Code | Description |\n|------|-------------|\n| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error, action was initiated. |\n| [400 Bad Request](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1) | Bad action or content provided. |\n| [409 Conflict](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.10) | A conflicting action is already in progress. |\n\n## Cancel action {#delete-cluster-action}\n\n\tDELETE /v1/cluster/actions/{action}\n\nCancel a queued or executing cluster action, or remove the status of\na previously executed and completed action.\n\n#### Required permissions\n\n| Permission name |\n|-----------------|\n| [cancel_cluster_action]() |\n\n### Request {#delete-request} \n\n#### Example HTTP request\n\n    DELETE /v1/cluster/actions/action_name\n\n#### URL parameters\n\n| Field | Type | Description |\n|-------|------|-------------|\n| action | string | The name of the action to cancel, currently no actions are supported. |\n\n### Response {#delete-response} \n\nReturns a status code.\n\n### Status codes {#delete-status-codes} \n\n| Code | Description |\n|------|-------------|\n| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | Action will be cancelled when possible. |\n| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Action unknown or not currently running. |\n",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-04-01T08:10:08-05:00"
}

