Skip to main content

When using cluster mode

The following APIs are available for clusters with cluster mode enabled.

caution

You must use an encrypted value for the user.password field to create the cluster successfully.

Create cluster

Creates a new cluster. The number of shards must be between 1 and 12.

Request
Create cluster Request Syntax
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}'
TypeParameterData typeDescription
Header{token-id}*StringRefer to API authentication token
HeaderContent-Type*StringContent type, default: application/json
Bodyname*StringName of the cluster
descriptionStringDescription of the cluster
version*StringRedis version
Supported: 7.2.7, 7.2.6, 7.0.15, 6.2.17, 6.2.16, 6.2.5
port*IntegerRedis port number, must be between 2000 and 50000
shardCount*IntegerNumber of shards
nodeCountPerShard*IntegerNumber of nodes per shard
flavorId*StringFlavor ID
parameterGroupId*StringParameter group ID to associate with the cluster
subnets[]*Object ArrayList of available subnets
subnets[].id*StringSubnet ID
- Check in Console > VPC > Subnet
subnetAssignments[]*Object ArraySubnet assignment list
subnetAssignments[].primary*ObjectSubnet for Primary node
subnetAssignments[].primary.id*StringSubnet ID for the Primary node
subnetAssignments[].replicas[]*Object ArrayList of subnets for Replica nodes
subnetAssignments[].replicas[].id*StringSubnet ID for each Replica node
tlsEnabledBooleanWhether to enable TLS
backupScheduleObjectAutomatic backup policy. If omitted, automatic backup is disabled
backupSchedule.cronStringCron expression for backup schedule (5-field format only)
backupSchedule.retentionLimitIntegerBackup retention period (in days)
userObjectDatabase user information
- Account used to access the DB
user.nameStringDatabase username
user.passwordStringEncrypted or hashed password
See How to encrypt DB user password
securityGroups[]*Object ArrayList of security groups to associate with the cluster
securityGroups[].id*StringSecurity group ID
- Check in Console > VPC > Security Groups
Create cluster Request Body Example
{
"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 CodeDescription
201Request to create resource was successful
400The request is invalid and cannot be processed
401The request was made by an unauthenticated user
403The request was made by a user without permission
409A duplicate request occurred due to the current server state
422The request syntax is valid, but the operation cannot be processed
500The operation cannot be processed due to an internal error
FieldTypeDescription
objectIdStringID of the created cluster
Create cluster Response Example
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.

info

You can only restore in the same cluster mode as the selected backup, and only to the same or higher Redis engine version.

caution

If the cache size of the source backup exceeds 60% of the memory of the target cluster's flavor, the restoration may fail.

Request
Create cluster using existing backup name - Request Syntax
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}'
TypeParameterData TypeDescription
Header{token-id}*StringRefer to API authentication token
Content-Type*StringContent type, default: application/json
Bodyname*StringName of the cluster
descriptionStringDescription of the cluster
version*StringRedis version
Supported: 7.2.7, 7.2.6, 7.0.15, 6.2.17, 6.2.16, 6.2.5
port*IntegerRedis port (between 2000 and 50000)
shardCount*IntegerNumber of shards
- Must match the number of shards in the backup
nodeCountPerShard*IntegerNumber of nodes per shard
flavorId*StringFlavor ID
parameterGroupId*StringParameter group ID to be associated with the cluster
subnets[]*Object ArrayList of subnets for deployment
subnets[].id*StringSubnet ID
- Check in Console > VPC > Subnet
subnetAssignments[]*Object ArrayList of subnet assignments
subnetAssignments[].primary*ObjectSubnet assigned to the primary node
subnetAssignments[].primary.id*StringSubnet ID for primary node
subnetAssignments[].replicas[]*Object ArrayList of subnets for replicas
subnetAssignments[].replicas[].id*StringSubnet ID for replica node
tlsEnabledBooleanWhether to enable TLS
restoreSourceObjectInformation of the backup source
- If omitted, a new cluster is created instead of restoring
restoreSource.backupNamesStringName of the Redis backup from the backup list
backupScheduleObjectAuto backup policy; if not set, auto backup is disabled
backupSchedule.cronStringCron expression (5-field) for scheduling backups
backupSchedule.retentionLimitIntegerRetention period for backups (in days)
userObjectDatabase user information
- Used to access the DB
user.nameStringDatabase username
user.passwordStringEncrypted or hashed database password
See How to encrypt the database user password
securityGroups[]*Object ArrayList of security groups to connect to the cluster
securityGroups[].id*StringSecurity group ID
- Check in Console > VPC > Security Group
Create cluster using existing backup name Request Body Example
{
"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 CodeDescription
201Request to create the resource was successful
400The request is invalid and cannot be processed
401The user is not authenticated
403The user does not have permission to perform this action
409A duplicate request occurred due to the current server state
422The request syntax is valid but cannot be processed
500Internal server error preventing the operation
FieldTypeDescription
objectIdStringCluster ID
Create cluster with existing backup name - Response Example
201 Created
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}

Update cluster information

Modify certain information for a specific cluster.

Request
Update cluster information Request Syntax
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"
}
]
}'
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
Header{token-id}*StringRefer to API authentication token
BodybackupScheduleObjectBackup schedule settings
backupSchedule.cronStringCron expression for backup schedule, only time can be set, 5-field cron format
- Passing "" as the value deletes the backup
backupSchedule.retentionLimitIntegerBackup retention period (in days)
descriptionStringCluster description to be updated
parameterGroupIdStringParameter group ID to be associated with the cluster
- Cannot be updated to an empty string ("")
securityGroups[]Object ArrayList of security group IDs to be updated
securityGroups[].idStringSecurity group ID
Update cluster information Request Body Example
{
"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` | Successful response for resource update request |
| `400` | The request is invalid and cannot be processed |
| `401` | Request made by an unauthenticated user |
| `403` | Request made by a user without permission |
| `404` | The requested resource does not exist |
| `500` | Internal error, unable to process the request |

| Field | Type | Description |
|-----------|--------|------------------|
| objectId | String | Cluster ID |

```json title="Update cluster information Response Example"
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
Delete cluster Request Syntax
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}?keepAutomaticBackups={keep-auto-backup}" \
-H "X-Auth-Token: {token-id}"
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
Query{keep-auto-backup}BooleanWhether to retain automatic backups
- Required if automatic backups exist
- true: Retain automatic backups and delete them at the specified expiration
- false: Delete automatic backups along with the instance set
Header{token-id}*StringSee API Authentication Token
Response
Status CodeDescription
200Successful response for resource retrieval/deletion request
400The request is invalid and cannot be processed
401Request made by an unauthenticated user
403Request made by a user without permission
404The requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
objectIdStringCluster ID
Delete cluster Response Example
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
Add shard Request Syntax
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards" \
-H "X-Auth-Token: {token-id}" \
-d '{Body}'
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
Header{token-id}StringSee API Authentication Token
BodynodeCount*IntegerNumber of nodes to be added to the shard
subnetAssignments[]*ObjectSubnet assignment list
subnetAssignments[].primary*ObjectSubnet to assign to primary
subnetAssignments[].primary.id*StringID of the subnet assigned to primary
subnetAssignments[].replicas[]*ArraySubnet list assigned to replicas
subnetAssignments[].replicas[].id*StringID of the subnet assigned to replicas
Add shard Request Body Example
{
"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 CodeDescription
201Resource creation request successful
400The request is invalid and cannot be processed
401Request made by an unauthenticated user
403Request made by a user without permission
404The requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
objectIdStringCluster ID
Add shard Response Example
201 Created
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "875bb16f-7347-4d87-a49f-e705e91db2fb"
}

Retrieve shard list in a cluster

Retrieve the list of shards in a specific cluster.

Request
Retrieve shard list Request Syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards" \
-H "X-Auth-Token: {token-id}"
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
Header{token-id}StringSee API Authentication Token
Response
Status CodeDescription
200Successful response for resource retrieval/deletion request
400The request is invalid and cannot be processed
401Request made by an unauthenticated user
403Request made by a user without permission
404The requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
shards[]Object ArrayList of shards
shards[].idStringShard ID
shards[].nameStringShard name
shards[].slotsStringAssigned slot range
shards[].nodes[]Object ArrayList of nodes
shards[].nodes[].idStringNode ID
shards[].nodes[].nameStringNode name
shards[].nodes[].subnetObjectSubnet information where the node is placed
shards[].nodes[].subnet.idStringSubnet ID where the node is placed
shards[].nodes[].endpointStringNode endpoint (Private IP)
shards[].nodes[].roleStringNode role (primary/replica)
shards[].nodes[].statusStringNode status
shards[].nodes[].createdAtStringNode creation time (RFC3339)
shards[].statusStringShard status
shards[].createdAtStringShard creation time (RFC3339)
Retrieve shard list in a cluster Response Example
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"
}
]
}

View shard details

Retrieve the detailed information of a specific shard in a specific cluster.

Request
View shard details Request Syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}" \
-H "X-Auth-Token: {token-id}"
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
{shard-id}*StringShard ID
Header{token-id}*StringRefer to API authentication token
Response
Status CodeDescription
200Successful response for resource retrieval/deletion
400The request is invalid and cannot be processed
401The request is made by an unauthenticated user
403The request is made by a user without permission
404The requested resource does not exist
500Internal server error, unable to process the request
FieldTypeDescription
idStringShard ID
nameStringShard name
slotsStringAssigned slot range
nodes[]Object ArrayList of nodes
nodes[].idStringNode ID
nodes[].nameStringNode name
nodes[].subnetObjectSubnet info assigned to the node
nodes[].subnet.idStringSubnet ID of the node
nodes[].endpointStringNode endpoint (Private IP)
nodes[].roleStringNode role (primary/replica)
nodes[].statusStringNode status
nodes[].createdAtStringNode creation timestamp (RFC3339)
statusStringShard status
createdAtStringShard creation timestamp (RFC3339)
View shard details Response Example
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 in a specific cluster.

Request
Delete shard Request Syntax
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}" \
-H "X-Auth-Token: {token-id}"
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
{shard-id}*StringShard ID
Header{token-id}*StringRefer to API authentication token
Response
Status CodeDescription
200Successful response for resource retrieval/deletion
400The request is invalid and cannot be processed
401The request is made by an unauthenticated user
403The request is made by a user without permission
404The requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
objectIdStringCluster ID
Delete shard Response Example
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 to a specific shard in a specific cluster.

Request
Add replica to shard Request Syntax
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}'
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
{shard-id}*StringShard ID
Header{token-id}*StringRefer to API authentication token
Bodysubnet*ObjectSubnet assignment
subnet.id*StringSubnet ID
Add replica to shard Request Body Example
{
"subnet": {"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
}
Response
Status CodeDescription
201Resource creation successful
400The request is invalid and cannot be processed
401The request is made by an unauthenticated user
403The request is made by a user without permission
404The requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
objectIdStringCluster ID
Add replica to shard Response Example
201 Created
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb"
}

View list of instances (nodes) in a shard

Retrieve the list of instances (nodes) in a specific shard of a specific cluster.

Request
View list of instances (nodes) Request Syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}/shards/{shard-id}/nodes" \
-H "X-Auth-Token: {token-id}"
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
{shard-id}*StringShard ID
Header{token-id}*StringRefer to API authentication token
Response
Status CodeDescription
200Successful response for resource retrieval/deletion
400The request is invalid and cannot be processed
401The request is made by an unauthenticated user
403The request is made by a user without permission
404The requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
nodes[]Object ArrayList of nodes
nodes[].idStringNode ID
nodes[].nameStringNode name
nodes[].subnetObjectSubnet information where node is placed
nodes[].subnet.idStringSubnet ID
nodes[].endpointStringNode endpoint (private IP)
nodes[].roleStringNode role (primary/replica)
nodes[].statusStringNode status
nodes[].createdAtStringNode creation time (RFC3339)
View list of instances (nodes) Response Example
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 about a specific instance (node) within a specific shard of a cluster.

Request
View instance (node) details Request Syntax
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}"
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
{shard-id}*StringShard ID
{node-id}*StringNode ID
Header{token-id}*StringRefer to API authentication token
Response
Status CodeDescription
200Successful response for resource retrieval/deletion
400The request is invalid and cannot be processed
401Request made by an unauthenticated user
403Request made by a user without permission
404The requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
idStringNode ID
nameStringNode name
subnetObjectSubnet information
subnet.idStringID of the subnet
endpointStringNode endpoint (private IP)
roleStringNode role (primary/replica)
statusStringNode status
createdAtStringNode creation time (RFC3339)
View instance (node) details Response Example
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)

Delete a specific instance (node) from a specific shard in a specific cluster.
Note: Primary nodes cannot be deleted.

Request
Delete instance (node) Request Syntax
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}"
TypeParameterData TypeDescription
URL{cluster-id}*StringCluster ID
{shard-id}*StringShard ID
{node-id}*StringNode ID
Header{token-id}*StringRefer to API authentication token
Response
Status CodeDescription
200Successful response for resource retrieval/deletion
400The request is invalid and cannot be processed
401Request made by an unauthenticated user
403Request made by a user without permission
404The requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
objectIdStringCluster ID
Delete instance (node) Response Example
200 OK
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "qwerqwer-7347-4d87-a49f-e705e91db2fb" /* cluster id */
}