Skip to main content

Common

The common APIs are available regardless of whether Cluster Mode is enabled or not.

Retrieve engine version list

Retrieves a list of available Redis engine versions.

Request
Retrieve engine version list request syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/redis/versions" \
-H "accept: application/json" \
-H "X-Auth-Token: {token-id}"
TypeParameterData typeDescription
Header{token-id}*StringRefer to API authentication token
Response
Status codeDescription
200Successful response for resource creation
400Invalid request
403Forbidden
404Resource not found
FieldData typeDescription
[]String ArrayList of engine versions
Retrieve engine version list response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
["7.2.11","7.2.6","7.0.15","6.2.20","6.2.16","6.2.5","5.0.6"]

Retrieve flavor list

Retrieves a list of available flavors.

Request
Retrieve flavor list request syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/redis/flavors" \
-H "accept: application/json" \
-H "X-Auth-Token: {token-id}"
TypeParameterData typeDescription
Header{token-id}*StringRefer to API authentication token
Response
Status codeDescription
200Successful response for resource creation
401Unauthorized
403Forbidden
404Resource not found
500Internal server error
FieldData typeDescription
flavors[]Object ArrayList of available flavors
flavors[].idStringFlavor ID
flavors[].nameStringFlavor name
flavors[].vcpusIntegerNumber of virtual CPUs
flavors[].memoryIntegerMemory size (GiB)
Retrieve flavor list response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8

{
"flavors": [
{
"id": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"name": "a1-2-co",
"vcpus": 2,
"memory": 4
},
{
"id": "9e34af24-e1fa-475f-ba5c-11f0116e1d85",
"name": "a1-4-co",
"vcpus": 4,
"memory": 8
},
{
"id": "f443e5e2-84c1-47c1-984b-ee2221b96fe8",
"name": "a1-8-co",
"vcpus": 8,
"memory": 16
}
]
}

Retrieve cluster list

Retrieves a list of all clusters.

Request
Retrieve cluster list Request Syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters" \
-H "X-Auth-Token: {token-id}"
TypeParameterData typeDescription
Header{token-id}*StringSee API authentication token
Query{parameter-group-id or parameter-group-name}StringParameter group ID or name
Response
Status codeDescription
200Successful response to a resource creation request
400The request is invalid and cannot be processed
401Request made by an unauthenticated user
403Request made by a user without permissions
500Operation cannot be performed due to internal error
FieldTypeDescription
clusters[]Object ArrayList of clusters
clusters.projectIdStringProject ID
clusters.objectIdStringObject ID
clusters.nameStringCluster name
clusters.descriptionStringCluster description
clusters.versionStringRedis version
clusters.portIntegerRedis port number
clusters.clusterEnabledBooleanWhether cluster mode is enabled
- true: Enabled
- false: Disabled
clusters.recoveryEnabledBooleanWhether high availability mode is enabled
- true: Enabled (always true in cluster mode)
- false: Disabled
clusters.shardCountIntegerNumber of shards
clusters.totalNodeCountIntegerTotal number of nodes
clusters.flavorIdStringFlavor ID
clusters.vcpuIntegerNumber of virtual CPUs
clusters.memoryIntegerMemory size (GiB)
clusters.endpointsObjectEndpoint addresses
clusters.endpoints.primaryEndpointStringPrimary endpoint address
clusters.endpoints.readEndpointStringRead-only endpoint address
- Not available in cluster mode
clusters.userNameStringUser ID; - if authentication is disabled
clusters.subnets[]Object ArrayAvailable subnets for placement
clusters.subnets[].idStringSubnet ID
clusters.subnetAssignments[]Object ArraySubnet assignment list
clusters.subnetAssignments[].primaryObjectPrimary subnet assignment
clusters.subnetAssignments[].primary.idStringPrimary subnet ID
clusters.subnetAssignments[].replicas[]Object ArrayReplica subnet assignments
clusters.subnetAssignments[].replicas[].idStringReplica subnet ID
clusters.securityGroups[]Object ArrayAssociated security groups
clusters.securityGroups[].idStringSecurity group ID
clusters.backupScheduleObjectAutomatic backup policy
clusters.backupSchedule.cronStringCron expression for backup schedule
clusters.backupSchedule.retentionLimitIntegerBackup retention period (in days)
clusters.tlsEnabledBooleanWhether TLS is enabled
clusters.creatorStringCluster creator ID
clusters.licenseStringLicense type
clusters.statusStringCluster status
clusters.parameterGroupIdStringID of applied parameter group
clusters.parameterGroupNameStringName of applied parameter group
clusters.parameterGroupSyncStatusStringSync status of the parameter group
clusters.createdAtStringCluster creation timestamp (RFC3339)
Retrieve cluster list Response Example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8


{
"clusters": [
{
"projectId": "377813fe9e0144dc8cd867c2zxcvasdf",
"objectId": "qqqqwwww-7347-4d87-a49f-e705e91db2fb",
"name": "test-cluster",
"description": "test-cluster",
"version": "6.2.5",
"port": 6379,
"clusterEnabled": true, /* redis cluster */
"recoveryEnabled": true,
"shardCount": 2,
"totalNodeCount": 6,
"flavorId": "ffffffff-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 16,
"endpoints": {
"primaryEndpoint": "",
"readEndpoint": ""
},
"userName": "testusername",
"subnets": [ /* node 배치 가능한 subnet 리스트 */
{"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"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"backupSchedule": null,
"creator": "ms@kakaoenterprise.com",
"license": "GPL",
"status": "Modifying",
"createdAt": "2024-03-06T02:35:13Z"
},
{
"projectId": "377813fe9e0144dc8cd867c2zxcvasdf",
"objectId": "aaaassss-7347-4d87-a49f-e705e91db2fb",
"name": "test-instance-group",
"description": "test-instance-group",
"version": "6.2.5",
"port": 6379,
"clusterEnabled": false, /* redis instance set */
"recoveryEnabled": false,
"shardCount": 0,
"totalNodeCount": 4,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 8,
"endpoints": {"primaryEndpoint": "", "readEndpoint": ""},
"userName": "testusername",
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 15
},
"tlsEnabled": false,
"creator": "ms@kakaoenterprise.com",
"license": "GPL",
"status": "Creating",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"parameterGroupName": "test-parameter-group",
"parameterGroupSyncStatus": "In-Sync",
"createdAt": "2024-03-06T02:35:13Z"
}
]
}

Retrieve cluster details

Retrieves detailed information about a specific cluster.

Request
Retrieve cluster details Request Syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id}" \
-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 to resource retrieval/deletion
400The request is invalid and cannot be processed
401Request made by an unauthenticated user
403Request made by a user without permissions
404Requested resource does not exist
500Operation cannot be performed due to internal error
FieldTypeDescription
projectIdStringProject ID
objectIdStringObject ID
nameStringCluster name
descriptionStringCluster description
versionStringRedis version
portIntegerRedis port number
clusterEnabledBooleanWhether cluster mode is enabled
- true: Enabled
- false: Disabled
recoveryEnabledBooleanWhether high availability mode is enabled
- true: Enabled (always true in cluster mode)
- false: Disabled
shardCountIntegerNumber of shards
- 0 if cluster mode is disabled
totalNodeCountIntegerTotal number of nodes
flavorIdStringFlavor ID
vcpuIntegerNumber of virtual CPUs
memoryIntegerMemory size (GiB)
endpointsObjectEndpoint addresses
endpoints.primaryEndpointStringPrimary endpoint address
endpoints.readEndpointStringRead-only endpoint address
- Not available in cluster mode
userNameStringUser ID; - if authentication is disabled
subnets[]Object ArrayList of subnets available for placement
subnets[].idStringSubnet ID
subnetAssignments[]Object ArrayList of subnet assignments
subnetAssignments[].primaryObjectPrimary subnet assignment
subnetAssignments[].primary.idStringPrimary subnet ID
subnetAssignments[].replicas[]Object ArrayReplica subnet assignments
subnetAssignments[].replicas[].idStringReplica subnet ID
securityGroups[]Object ArrayList of security groups connected to the cluster
securityGroups[].idStringSecurity group ID
backupScheduleObjectAutomatic backup policy
backupSchedule.cronStringCron expression for backup schedule
backupSchedule.retentionLimitIntegerBackup retention period (in days)
tlsEnabledBooleanWhether TLS is enabled
creatorStringCluster creator ID
licenseStringLicense type
statusStringCluster status
parameterGroupIdStringID of the applied parameter group
parameterGroupNameStringName of the applied parameter group
parameterGroupSyncStatusStringSync status of the parameter group
createdAtStringCluster creation timestamp (RFC3339)
userNameStringUser account name; - if authentication is disabled
Retrieve cluster details Response Example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8

{
"projectId": "377813fe9e0144dc8cd867c2zxcvasdf",
"objectId": "qqqqwwww-7347-4d87-a49f-e705e91db2fb",
"name": "test-cluster",
"description": "test-cluster",
"version": "6.2.5",
"port": 6379,
"clusterEnabled": true, /* redis cluster */
"recoveryEnabled": true,
"shardCount": 2,
"totalNodeCount": 6,
"flavorId": "ffffffff-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 16,
"endpoints": {
"primaryEndpoint": "",
"readEndpoint": ""
},
"userName": "testusername",
"subnets": [ /* node 배치 가능한 subnet 리스트 */
{"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"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"backupSchedule": null,
"tlsEnabled": false,
"creator": "ms@kakaoenterprise.com",
"license": "GPL",
"status": "Modifying",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"parameterGroupName": "test-parameter-group",
"parameterGroupSyncStatus": "In-Sync",
"createdAt": "2024-03-06T02:35:13Z"
}

Retrieve instance set details

Retrieves detailed information about the specified instance set.

Request
Retrieve instance set (non-cluster mode) details Request Syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{instance-set-id}" \
-H "X-Auth-Token: {token-id}"
TypeParameterData TypeDescription
URL{instance-set-id}*StringInstance set ID
Header{token-id}*StringSee API authentication token
Response
Status CodeDescription
200Successful response for retrieval/deletion request
400Request is invalid and cannot be processed
401Request made by unauthenticated user
403Request made by unauthorized user
404Requested resource does not exist
500Internal error prevents operation
FieldTypeDescription
projectIdStringProject ID
objectIdStringCluster/Instance set ID
nameStringCluster name
descriptionStringCluster description
versionStringRedis version
portIntegerRedis port number
clusterEnabledBooleanWhether cluster mode is enabled
- true: Enabled
- false: Disabled
recoveryEnabledBooleanWhether high availability mode is enabled
- true: Enabled (always true in cluster mode)
- false: Disabled
shardCountIntegerNumber of shards
- 0 when cluster mode is not used
totalNodeCountIntegerTotal number of nodes
flavorIdStringFlavor ID
vcpuIntegerNumber of virtual CPUs
memoryIntegerMemory size (GiB)
endpointsObjectEndpoint addresses
endpoints.primaryEndpointStringPrimary endpoint address
endpoints.readEndpointStringRead-only endpoint address
- Not available in cluster mode
userNameStringUser ID; - if authentication is disabled
subnets[]Object ArrayList of subnets available for placement
subnets[].idStringSubnet ID
subnetAssignments[]Object ArraySubnet assignments
subnetAssignments[].primaryObjectPrimary subnet assignment
subnetAssignments[].primary.idStringPrimary subnet ID
subnetAssignments[].replicas[]Object ArrayReplica subnet assignments
subnetAssignments[].replicas[].idStringReplica subnet ID
securityGroups[]Object ArrayList of security groups associated with the cluster
securityGroups[].idStringSecurity group ID
backupScheduleObjectAutomatic backup policy
backupSchedule.cronStringCron expression for automatic backup schedule
backupSchedule.retentionLimitIntegerBackup retention period (days)
tlsEnabledBooleanWhether TLS is enabled
creatorStringCluster creator
licenseStringLicense type
statusStringCluster status
parameterGroupIdStringID of the applied parameter group
parameterGroupNameStringName of the applied parameter group
parameterGroupSyncStatusStringParameter group sync status
createdAtStringCluster creation time (RFC3339)
userNameStringUser account name; - if authentication is disabled
Retrieve instance set details Response Example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8

{
"projectId": "377813fe9e0144dc8cd867c2zxcvasdf",
"objectId": "aaaassss-7347-4d87-a49f-e705e91db2fb",
"name": "test-instance-group",
"description": "test-instance-group",
"version": "6.2.5",
"port": 6379,
"clusterEnabled": false, /* redis instance set */
"recoveryEnabled": false,
"shardCount": 0,
"totalNodeCount": 4,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 8,
"endpoints": {"primaryEndpoint": "", "readEndpoint": ""},
"userName": "testusername",
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
 "backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 15
},
"tlsEnabled": false,
"creator": "ms@kakaoenterprise.com",
"license": "GPL",
"status": "Creating",
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"parameterGroupName": "test-parameter-group",
"parameterGroupSyncStatus": "In-Sync",
"createdAt": "2024-03-06T02:35:13Z"
}

Retry applying parameter group to cluster

If the parameter group application status is not normal (e.g., Error-Sync, Suspended), you can retry applying the parameter group to the cluster.

Request
Retry applying parameter group Request Syntax
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/clusters/{cluster-id or instance-set-id}/parameter-group/apply" \
-H "X-Auth-Token: {token-id}"
TypeParameterData TypeDescription
URL{cluster-id or instance-set-id}*StringCluster ID or instance set ID
Header{token-id}*StringSee API authentication token
Response
Status CodeDescription
200Successful response for retrieval/deletion request
400Request is invalid and cannot be processed
401Request made by unauthenticated user
403Request made by unauthorized user
404Requested resource does not exist
500Internal error prevents operation
FieldTypeDescription
objectIdStringCluster ID
Retry applying parameter group to cluster Response Example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8

{
"objectId": "aaaassss-7347-4d87-a49f-e705e91db2fb",
}