{
  "id": "actions",
  "title": "Actions requests",
  "url": "https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/actions/",
  "summary": "Actions requests",
  "content": "\n| Method | Path | Description |\n|--------|------|-------------|\n| [GET](#get-all-actions) | `/v1/actions` | Get all actions |\n| [GET](#get-action) | `/v1/actions/{uid}` | Get a single action |\n\n## Get all actions {#get-all-actions}\n\n```\nGET /v1/actions\n```\n\nGet the status of all running, pending, or completed actions on all clusters, nodes, and databases. This API tracks long-lived API requests that return either a `task_id` or an `action_uid`.\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```\nGET /v1/actions\n```\n\n### Response {#get-all-response}\n\nReturns a JSON array of [action objects](), which represent tasks, and an array of [state-machine objects]().\n\n| Field | Type/Value | Description |\n|-------|------------|-------------|\n| action_uid | string | The action's globally unique identifier |\n| name | string | Name of the running or failed state machine |\n| progress | float (range: 0-100) | Percent of completed steps for the action |\n| status | \"pending\"\u003cbr /\u003e\"active\"\u003cbr /\u003e\"completed\"\u003cbr /\u003e\"failed\" | The action's status |\n| node_uid | string | UID of the node where the operation runs (optional) |\n| object_name | string | The object that the action runs on (optional) |\n| state | string | The current state of the state machine (optional)  |\n| pending_ops | JSON object | List of operations that are waiting to run (optional)\u003cbr /\u003e\"pending_ops\": {\u003cbr /\u003e  \"3\": {\u003cbr /\u003e    \"heartbeat\": integer,\u003cbr /\u003e    \"snapshot\": { ... },\u003cbr /\u003e    \"last_sample_time\": integer,\u003cbr /\u003e    \"op_name\": string,\u003cbr /\u003e    \"status_code\": string,\u003cbr /\u003e    \"status_description\": string,\u003cbr /\u003e    \"progress\": float\u003cbr /\u003e  }\u003cbr /\u003e}\u003cbr /\u003e`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:\u003cbr /\u003e**heartbeat**: The time, in seconds since the Unix epoch, since the last change in the progress of the operation.\u003cbr /\u003e**snapshot**: A map of properties stored by the operation that are needed to run.\u003cbr /\u003e**last_sample_time**: The time, in seconds since the Unix epoch, when the last snapshot of the operation was taken.\u003cbr /\u003e**op_name**: The name of the operation from the state machine that is running.\u003cbr /\u003e**status_code**: The code for the operation's current status.\u003cbr /\u003e**status_description**: The operation's current status.\u003cbr /\u003e**progress**: The operation's progress in percentage (1 to 100). |\n\nRegardless of an action’s source, each action in the response contains the following attributes: `name`, `action_uid`, `status`, and `progress`.\n\n#### Example JSON body\n\n```json\n{\n  \"actions\": [\n    {\n      \"action_uid\": \"159ca2f8-7bf3-4cda-97e8-4eb560665c28\",\n      \"name\": \"retry_bdb\",\n      \"node_uid\": \"2\",\n      \"progress\": \"100\",\n      \"status\": \"completed\",\n      \"task_id\": \"159ca2f8-7bf3-4cda-97e8-4eb560665c28\"\n    },\n    {\n      \"action_uid\": \"661697c5-c747-41bd-ab81-ffc8fd13c494\",\n      \"name\": \"retry_bdb\",\n      \"node_uid\": \"1\",\n      \"progress\": \"100\",\n      \"status\": \"completed\",\n      \"task_id\": \"661697c5-c747-41bd-ab81-ffc8fd13c494\"\n    }\n  ],\n  \"state-machines\": [\n    {\n      \"action_uid\": \"a10586b1-60bc-428e-9bc6-392eb5f0d8ae\",\n      \"heartbeat\": 1650378874,\n      \"name\": \"SMCreateBDB\",\n      \"object_name\": \"bdb:1\",\n      \"progress\": 100,\n      \"status\": \"completed\"\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 a specific action {#get-action}\n\n```\nGET /v1/actions/{uid}\n```\n\nGet the status of a specific 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```\nGET /v1/actions/{uid}\n```\n\n#### URL parameters\n\n| Field | Type | Description |\n|-------|------|-------------|\n| uid | string | The action_uid to check |\n\n### Response {#get-response}\n\nReturns an [action object]().\n\n| Field | Type/Value | Description |\n|-------|------------|-------------|\n| action_uid | string | The action's globally unique identifier |\n| name | string | Name of the running or failed state machine |\n| progress | float (range: 0-100) | Percent of completed steps for the action |\n| status | \"pending\"\u003cbr /\u003e\"active\"\u003cbr /\u003e\"completed\"\u003cbr /\u003e\"failed\" | The action's status |\n| node_uid | string | UID of the node where the operation runs (optional) |\n| object_name | string | The object that the action runs on (optional) |\n| state | string | The current state of the state machine (optional)  |\n| pending_ops | JSON object | List of operations that are waiting to run (optional)\u003cbr /\u003e\"pending_ops\": {\u003cbr /\u003e  \"3\": {\u003cbr /\u003e    \"heartbeat\": integer,\u003cbr /\u003e    \"snapshot\": { ... },\u003cbr /\u003e    \"last_sample_time\": integer,\u003cbr /\u003e    \"op_name\": string,\u003cbr /\u003e    \"status_code\": string,\u003cbr /\u003e    \"status_description\": string,\u003cbr /\u003e    \"progress\": float\u003cbr /\u003e  }\u003cbr /\u003e}\u003cbr /\u003e`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:\u003cbr /\u003e**heartbeat**: The time, in seconds since the Unix epoch, since the last change in the progress of the operation.\u003cbr /\u003e**snapshot**: A map of properties stored by the operation that are needed to run.\u003cbr /\u003e**last_sample_time**: The time, in seconds since the Unix epoch, when the last snapshot of the operation was taken.\u003cbr /\u003e**op_name**: The name of the operation from the state machine that is running.\u003cbr /\u003e**status_code**: The code for the operation's current status.\u003cbr /\u003e**status_description**: The operation's current status.\u003cbr /\u003e**progress**: The operation's progress in percentage (1 to 100). |\n\nRegardless of an action’s source, each action contains the following attributes: `name`, `action_uid`, `status`, and `progress`.\n\n#### Example JSON body\n\n```json\n{\n  \"action_uid\": \"159ca2f8-7bf3-4cda-97e8-4eb560665c28\",\n  \"name\": \"retry_bdb\",\n  \"node_uid\": \"2\",\n  \"progress\": \"100\",\n  \"status\": \"completed\",\n  \"task_id\": \"159ca2f8-7bf3-4cda-97e8-4eb560665c28\"\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",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-04-01T08:10:08-05:00",
  "children": [{"id":"bdb","summary":"Database actions requests","title":"Database actions requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/actions/bdb/"}]
}

