{
  "id": "nodes",
  "title": "Nodes requests",
  "url": "https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/nodes/",
  "summary": "Node requests",
  "content": "\n| Method | Path | Description |\n|--------|------|-------------|\n| [GET](#get-all-nodes) | `/v1/nodes` | Get all cluster nodes |\n| [GET](#get-node) | `/v1/nodes/{uid}` | Get a single cluster node |\n| [PUT](#put-node) | `/v1/nodes/{uid}` | Update a node |\n\n## Get all nodes {#get-all-nodes}\n\n```sh\nGET /v1/nodes\n```\n\nGet all cluster nodes.\n\n### Permissions\n\n| Permission name | Roles |\n|-----------------|-------|\n| [view_all_nodes_info]() | admin\u003cbr /\u003ecluster_member\u003cbr /\u003ecluster_viewer\u003cbr /\u003edb_member\u003cbr /\u003edb_viewer\u003cbr /\u003euser_manager |\n\n### Request {#get-all-request}\n\n#### Example HTTP request\n\n```sh\nGET /v1/nodes\n```\n\n#### Headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cnm.cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |\n\n### Response {#get-all-response}\n\nReturns a JSON array of [node objects]().\n\n#### Example JSON body\n\n```json\n[\n    {\n      \"uid\": 1,\n      \"status\": \"active\",\n      \"uptime\": 262735,\n      \"total_memory\": 6260334592,\n      \"software_version\": \"0.90.0-1\",\n      \"ephemeral_storage_size\": 20639797248,\n      \"persistent_storage_path\": \"/var/opt/redislabs/persist\",\n      \"persistent_storage_size\": 20639797248,\n      \"os_version\": \"Ubuntu 14.04.2 LTS\",\n      \"ephemeral_storage_path\": \"/var/opt/redislabs/tmp\",\n      \"architecture\": \"x86_64\",\n      \"shard_count\": 23,\n      \"public_addr\": \"\",\n      \"cores\": 4,\n      \"rack_id\": \"\",\n      \"supported_database_versions\": [\n        {\n          \"db_type\": \"memcached\",\n          \"version\": \"1.4.17\"\n        },\n        {\n          \"db_type\": \"redis\",\n          \"version\": \"2.6.16\"\n        },\n        {\n          \"db_type\": \"redis\",\n          \"version\": \"2.8.19\"\n        }\n      ],\n      \"shard_list\": [1, 3, 4],\n      \"addr\": \"10.0.3.61\"\n    },\n    {\n      \"uid\": 1,\n      \"status\": \"active\",\n      \"// additional fields...\"\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 |\n\n## Get node {#get-node}\n\n```sh\nGET /v1/nodes/{int: uid}\n```\n\nGet a single cluster node.\n\n### Permissions\n\n| Permission name | Roles |\n|-----------------|-------|\n| [view_node_info]() | admin\u003cbr /\u003ecluster_member\u003cbr /\u003ecluster_viewer\u003cbr /\u003edb_member\u003cbr /\u003edb_viewer\u003cbr /\u003euser_manager |\n\n### Request {#get-request}\n\n#### Example HTTP request\n\n```sh\nGET /v1/nodes/1\n```\n\n#### Headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cnm.cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |\n\n#### URL parameters\n\n| Field | Type | Description |\n|-------|------|-------------|\n| uid | integer | The unique ID of the node requested. |\n\n### Response {#get-response}\n\nReturns a [node object]().\n\n#### Example JSON body\n\n```json\n{\n    \"uid\": 1,\n    \"name\": \"node:1\",\n    \"// additional fields...\"\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 |\n| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Node UID does not exist |\n\n## Update node {#put-node}\n\n```sh\nPUT /v1/nodes/{int: uid}\n```\n\nUpdate a [node object]().\n\nCurrently, you can edit the following attributes:\n\n- `addr`\n\n- `external_addr`\n\n- `recovery_path`\n\n- `accept_servers`\n\n\nYou can only update the `addr` attribute for offline nodes. Otherwise, the request returns an error.\n\n\n### Permissions\n\n| Permission name | Roles |\n|-----------------|-------|\n| [update_node]() | admin |\n\n### Request {#put-request}\n\n#### Example HTTP request\n\n```sh\nPUT /v1/nodes/1\n```\n\n#### Example JSON body\n\n```json\n{\n    \"addr\": \"10.0.0.1\",\n    \"external_addr\" : [\n        \"192.0.2.24\"\n    ]\n}\n```\n\n#### Request headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |\n| Content-Type | application/json | Media type of request/response body |\n\n\n#### URL parameters\n\n| Field | Type | Description |\n|-------|------|-------------|\n| uid | integer | The unique ID of the updated node. |\n\n\n#### Body\n\n| Field | Type | Description |\n|-------|------|-------------|\n| addr | string | Internal IP address of node |\n| external_addr | JSON array | External IP addresses of the node |\n| recovery_path | string | Path for recovery files |\n| accept_servers | boolean | If true, no shards will be created on the node |\n\n### Response {#put-response}\n\nIf the request is successful, the body will be empty. Otherwise, it may contain a JSON object with an error code and error message.\n\n#### Status codes {#put-status-codes}\n\n| Code | Description |\n|------|-------------|\n| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error, the request has been processed. |\n| [406 Not Acceptable](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.7) | Update request cannot be processed. |\n| [400 Bad Request](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1) | Bad content provided. |\n\n#### Error codes {#put-error-codes}\n\n| Code | Description |\n|------|-------------|\n| node_not_found | Node does not exist |\n| node_not_offline | Attempted to change node address while it is online |\n| node_already_populated | The node contains shards or endpoints, cannot disable accept_servers |\n| invalid_oss_cluster_port_mapping | Cannot enable \"accept_servers\" since there are databases with \"oss_cluster_port_mapping\" that do not have a port configuration for the current node |\n| node_already_has_rack_id | Attempted to change node's rack_id when it already has one |\n",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-04-01T08:10:08-05:00",
  "children": [{"id":"actions","summary":"Node action requests","title":"Node actions requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/nodes/actions/"},{"id":"alerts","summary":"Node alert requests","title":"Node alerts requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/nodes/alerts/"},{"id":"check","summary":"Requests that run checks on a cluster node.","title":"Check node requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/nodes/check/"},{"id":"debuginfo","summary":"Documents the Redis Enterprise Software REST API /nodes/debuginfo requests.","title":"Node debug info requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/nodes/debuginfo/"},{"id":"snapshots","summary":"Node snapshot requests","title":"Node snapshot requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/nodes/snapshots/"},{"id":"stats","summary":"Node statistics requests","title":"Node stats requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/nodes/stats/"},{"id":"status","summary":"Requests that return a node's hostname and role.","title":"Node status requests","url":"https://redis.io/docs/latest/operate/rs/7.8/references/rest-api/requests/nodes/status/"}]
}

