When using cluster mode
The following APIs are available only for clusters with cluster mode set to enabled.
The user.password field must contain an encrypted value for proper cluster creation.
Create cluster
Create a new cluster. Minimum shard count is 1, and maximum is 12.
Request
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
| Type | Parameter | Type | Description |
|---|---|---|---|
| Header | {token-id}* | String | See API authentication token |
| Header | Content-Type* | String | Default: application/json |
| Body | name* | String | Cluster name |
| description | String | Cluster description | |
| version* | String | Redis version | |
| port* | Integer | Redis port (2000–50000) | |
| shardCount* | Integer | Number of shards | |
| nodeCountPerShard* | Integer | Number of nodes per shard | |
| flavorId* | String | Flavor ID | |
| parameterGroupId* | String | Parameter group ID | |
| subnets[]* | Object array | List of subnets for placement | |
| subnets[].id* | String | Subnet ID - See Console > VPC > Subnet | |
| subnetAssignments[]* | Object array | Subnet assignment list | |
| subnetAssignments[].primary* | Object | Subnet for primary node | |
| subnetAssignments[].primary.id* | String | Primary subnet ID | |
| subnetAssignments[].replicas[]* | Object array | Replica subnets | |
| subnetAssignments[].replicas[].id* | String | Replica subnet ID | |
| tlsEnabled | Boolean | Enable TLS | |
| backupSchedule | Object | Automatic backup policy - If omitted, backups are disabled | |
| backupSchedule.cron | String | Cron expression (5 fields only) | |
| backupSchedule.retentionLimit | Integer | Retention period (days) | |
| user | Object | DB user info | |
| user.name | String | DB username | |
| user.password | String | Encrypted password or hash How to encrypt DB user password | |
| securityGroups[]* | Object array | List of security groups | |
| securityGroups[].id* | String | Security group ID - See Console > VPC > Security group |
{
"name": "test-cluster",
"description": "test-cluster",
"version": "6.2.5",
"port": 6379,
"shardCount": 2,
"nodeCountPerShard": 3,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
},
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"user": {
"name": "testuser",
"password": "if2iOwJYiklliJIT8tvqoY~~~~"
},
"tlsEnabled": false,
"restoreSource": {
"backupName": "{restore-source-backup-name-env}"
},
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 7
},
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
]
}
Response
| Status code | Description |
|---|---|
201 | Successfully created |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
409 | Duplicate request conflict |
422 | Valid request but cannot proceed |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
201 Created
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Create cluster using existing backup name (restore)
Restore a cluster using an existing backup name.
You can only restore using the same cluster mode as the source, and only with the same or newer Redis engine version.
If the source backup's cache size exceeds 60% of the new flavor's memory, restore may fail.
Request
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
| Type | Parameter | Type | Description |
|---|---|---|---|
| Header | {token-id}* | String | See API authentication token |
| Header | Content-Type* | String | Default: application/json |
| Body | name* | String | Cluster name |
| description | String | Cluster description | |
| version* | String | Redis version | |
| port* | Integer | Redis port (2000–50000) | |
| shardCount* | Integer | Number of shards - Must match the source backup’s shard count | |
| nodeCountPerShard* | Integer | Number of nodes per shard | |
| flavorId* | String | Flavor ID | |
| parameterGroupId* | String | Parameter group ID | |
| subnets[]* | Object array | List of subnets for placement | |
| subnets[].id* | String | Subnet ID - See Console > VPC > Subnet | |
| subnetAssignments[]* | Object array | Subnet assignment list | |
| subnetAssignments[].primary* | Object | Subnet for primary node | |
| subnetAssignments[].primary.id* | String | Primary subnet ID | |
| subnetAssignments[].replicas[]* | Object array | Replica subnets | |
| subnetAssignments[].replicas[].id* | String | Replica subnet ID | |
| tlsEnabled | Boolean | Enable TLS | |
| restoreSource | Object | Restore source info - If omitted, a new cluster is created instead of restoring | |
| restoreSource.backupNames | String | Name of the Redis backup to restore | |
| backupSchedule | Object | Automatic backup policy | |
| backupSchedule.cron | String | Cron expression (5 fields only) | |
| backupSchedule.retentionLimit | Integer | Retention period (days) | |
| user | Object | DB user info | |
| user.name | String | DB username | |
| user.password | String | Encrypted password or hash How to encrypt DB user password | |
| securityGroups[]* | Object array | List of security groups | |
| securityGroups[].id* | String | Security group ID - See Console > VPC > Security group |
{
"name": "test-cluster",
"description": "test-cluster",
"version": "6.2.5",
"port": 6379,
"shardCount": 2,
"nodeCountPerShard": 3,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
},
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"user": {
"name": "testuser",
"password": "if2iOwJYiklliJIT8tvqoY~~~~",
},
"tlsEnabled": false,
"restoreSource": {
"backupName": "{restore-source-backup-name-env}"
},
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 7
},
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
]
}
Response
| Status code | Description |
|---|---|
201 | Successfully created |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
409 | Duplicate request conflict |
422 | Valid request, but cannot be processed |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
201 Created
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Update cluster information
Update specific fields of a cluster.
Request
curl -X PATCH "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}" \
-H "accept: application/json" \
-H "X-Auth-Token: {token-id}" \
-d '{
"backupSchedule": {
"cron": "* 3 * * *",
"retentionLimit": 15
},
"description": "modify description",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"securityGroups": [
{
"id": "ba9a0303-024a-47a4-b1c6-90ada7ca74fb"
},
{
"id": "2133fb76-8dda-492f-afce-9a9bc5f1cb9f"
}
]
}'
| Type | Parameter | Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
| Header | {token-id}* | String | See API authentication token |
| Body | backupSchedule | Object | Backup schedule settings |
| backupSchedule.cron | String | Cron expression (5 fields, time only) - If set to "", disables backup | |
| backupSchedule.retentionLimit | Integer | Backup retention period (in days) | |
| description | String | Cluster description to update | |
| parameterGroupId | String | ID of the parameter group to apply - Cannot be updated to an empty value ( "") | |
| securityGroups[] | Object array | List of security group IDs to update | |
| securityGroups[].id | String | Security group ID |
{
"backupSchedule": {
"cron": "* 3 * * *",
"retentionLimit": 15
},
"description": "modify description",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"securityGroups": [
{
"id: "ba9a0303-024a-47a4-b1c6-90ada7ca74fb"
}, {
"id: "2133fb76-8dda-492f-afce-9a9bc5f1cb9f"
}
]
}
Response
| Status code | Description |
|---|---|
200 | Successfully updated |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Delete cluster
Delete a specific cluster.
Request
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}?keepAutomaticBackups={keep-auto-backup}" \
-H "X-Auth-Token: {token-id}"
| Type | Parameter | Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
| Query | {keep-auto-backup} | Boolean | Whether to retain automatic backups - Required if automatic backups exist - true: Retains automatic backups and deletes them on their expiration date- false: Deletes automatic backups along with the cluster |
| Header | {token-id}* | String | See API authentication token |
Response
| Status code | Description |
|---|---|
200 | Successfully deleted |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Add shard
Add a shard to a specific cluster.
Request
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards" \
-H "X-Auth-Token: {token-id}" \
-d '{Body}'
| Type | Parameter | Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
| Header | {token-id} | String | See API authentication token |
| Body | nodeCount* | Integer | Number of nodes to add in the shard |
| subnetAssignments[]* | Object | Subnet assignment list | |
| subnetAssignments[].primary* | Object | Subnet for the primary node | |
| subnetAssignments[].primary.id* | String | Primary subnet ID | |
| subnetAssignments[].replicas[]* | Array | List of subnets for replicas | |
| subnetAssignments[].replicas[].id* | String | Replica subnet ID |
{
"nodeCount": 3,
"subnetAssignments": {
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
}
Response
| Status code | Description |
|---|---|
201 | Successfully created |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
201 Created
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "875bb16f-7347-4d87-a49f-e705e91db2fb"
}
Retrieve shard list in cluster
Retrieve the list of shards in a specific cluster.
Request
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards" \
-H "X-Auth-Token: {token-id}"
| Type | Parameter | Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
| Header | {token-id} | String | See API authentication token |
Response
| Status code | Description |
|---|---|
200 | Successfully retrieved |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| shards[] | Object array | List of shards |
| shards[].id | String | Shard ID |
| shards[].name | String | Shard name |
| shards[].slots | String | Assigned slot range |
| shards[].nodes[] | Object array | List of nodes in the shard |
| shards[].nodes[].id | String | Node ID |
| shards[].nodes[].name | String | Node name |
| shards[].nodes[].subnet | Object | Subnet information for the node |
| shards[].nodes[].subnet.id | String | Subnet ID where the node is placed |
| shards[].nodes[].endpoint | String | Node endpoint (private IP) |
| shards[].nodes[].role | String | Node role (primary/replica) |
| shards[].nodes[].status | String | Node status |
| shards[].nodes[].createdAt | String | Node creation time (RFC3339) |
| shards[].status | String | Shard status |
| shards[].createdAt | String | Shard creation time (RFC3339) |
200 OK
content-type: application/json; charset=UTF-8
{
"shards": [
{
"id": "001",
"name": "test-cluster-001",
"slots": "0-8191",
"nodes": [
{
"id": "aaaaaaaa-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-001",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "bbbbbbbb-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-002",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "cccccccc-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-003",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
],
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "002",
"name": "test-cluster-002",
"slots": "8192-16383",
"nodes": [
{
"id": "dddddddd-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-002-001",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "eeeeeeee-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-002-002",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "ffffffff-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-002-003",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
],
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
]
}
Retrieve shard details
Retrieve detailed information about a specific shard in a specific cluster.
Request
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}" \
-H "X-Auth-Token: {token-id}"
| Type | Parameter | Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
{shard-id}* | String | Shard ID | |
| Header | {token-id}* | String | See API authentication token |
Response
| Status code | Description |
|---|---|
200 | Successfully retrieved |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| id | String | Shard ID |
| name | String | Shard name |
| slots | String | Assigned slot range |
| nodes[] | Object array | List of nodes |
| nodes[].id | String | Node ID |
| nodes[].name | String | Node name |
| nodes[].subnet | Object | Subnet information |
| nodes[].subnet.id | String | Subnet ID |
| nodes[].endpoint | String | Node endpoint (private IP) |
| nodes[].role | String | Node role (primary/replica) |
| nodes[].status | String | Node status |
| nodes[].createdAt | String | Node creation timestamp (RFC3339) |
| status | String | Shard status |
| createdAt | String | Shard creation timestamp (RFC3339) |
200 OK
content-type: application/json; charset=UTF-8
{
"id": "001",
"name": "test-cluster-001",
"slots": "0-8191",
"nodes": [
{
"id": "aaaaaaaa-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-001",
"subnet": { "id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b" },
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "bbbbbbbb-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-002",
"subnet": { "id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b" },
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "cccccccc-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-003",
"subnet": { "id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b" },
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
],
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
Delete shard
Delete a specific shard from a specific cluster.
Request
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}" \
-H "X-Auth-Token: {token-id}"
| Type | Parameter | Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
{shard-id}* | String | Shard ID | |
| Header | {token-id}* | String | See API authentication token |
Response
| Status code | Description |
|---|---|
200 | Successfully retrieved or deleted |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
Add replica to shard
Add a replica node to a specific shard in a specific cluster.
Request
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes" \
-H "X-Auth-Token: {token-id}" \
-d '{Body}'
| Type | Parameter | Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
{shard-id}* | String | Shard ID | |
| Header | {token-id}* | String | See API authentication token |
| Body | subnet* | Object | Subnet assignment information |
| subnet.id* | String | Subnet ID to assign |
{
"subnet": { "id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b" }
}
Response
| Status code | Description |
|---|---|
201 | Successfully created |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
201 Created
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}
View list of instances (nodes) in shard
Retrieve the list of instances (nodes) in a specific shard within a specific cluster.
Request
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes" \
-H "X-Auth-Token: {token-id}"
| Type | Parameter | Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
{shard-id}* | String | Shard ID | |
| Header | {token-id}* | String | See API authentication token |
Response
| Status code | Description |
|---|---|
200 | Successfully retrieved or deleted |
400 | Invalid user request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| nodes[] | Object array | Node list |
| nodes[].id | String | Node ID |
| nodes[].name | String | Node name |
| nodes[].subnet | Object | Subnet assigned to node |
| nodes[].subnet.id | String | Subnet ID |
| nodes[].endpoint | String | Node endpoint (private IP) |
| nodes[].role | String | Node role (primary/replica) |
| nodes[].status | String | Node status |
| nodes[].createdAt | String | Node creation time (RFC3339) |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"nodes": [
{
"id": "aaaaaaaa-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-001",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "bbbbbbbb-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-002",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"id": "cccccccc-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-003",
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "replica",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
]
}
View instance (node) details
Retrieve detailed information of specific instance (node) in specific shard within cluster.
Request
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes/{node-id}" \
-H "X-Auth-Token: {token-id}"
| Type | Parameter | Data type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
{shard-id}* | String | Shard ID | |
{node-id}* | String | Node ID | |
| Header | {token-id}* | String | See API authentication token |
Response
| Status code | Description |
|---|---|
200 | Successfully retrieved |
400 | Invalid request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| id | String | Node ID |
| name | String | Node name |
| subnet | Object | Subnet assigned to node |
| subnet.id | String | Subnet ID |
| endpoint | String | Node endpoint (private IP) |
| role | String | Node role (primary/replica) |
| status | String | Node status |
| createdAt | String | Node creation time (RFC3339) |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"id": "aaaaaaaa-c12e-46f9-81a0-60ab1950a480",
"name": "test-cluster-001-001",
"subnet": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"endpoint": "10.184.x.x",
"role": "primary",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
}
Delete instance (node)
Deletes a specific instance (node) in a specific shard of a cluster.
※ Primary nodes cannot be deleted.
Request
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes/{node-id}" \
-H "X-Auth-Token: {token-id}"
| Type | Parameter | Data Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
{shard-id}* | String | Shard ID | |
{node-id}* | String | Node ID | |
| Header | {token-id}* | String | See API authentication token |
Response
| Status Code | Description |
|---|---|
200 | Successfully retrieved or deleted the resource |
400 | Invalid request |
401 | Unauthorized |
403 | Forbidden |
404 | Resource not found |
500 | Internal server error |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
200 OK
content-length: 52
content-type: application/json; charset=UTF-8
{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}