Skip to main content

Common

Common APIs can be used regardless of whether cluster mode is enabled or disabled.

Retrieve engine version list

Retrieve the list of available 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 to resource creation request
400Invalid request, unable to process
403User does not have the required permissions
404The requested resource does not exist
FieldData typeDescription
[]String ArrayList of engine versions
Retrieve engine version list response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
["6.2.5","5.0.6"]

Retrieve flavor list

Retrieve the 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 to resource creation request
401Unauthorized user request
403User does not have the required permissions
404The requested resource does not exist
500Internal server error, unable to process request
FieldData typeDescription
flavors[]Object ArrayList of flavors
flavors[].idStringFlavor ID
flavors[].nameStringFlavor name
flavors[].vcpusIntegerNumber of virtual CPUs in the flavor
flavors[].memoryIntegerMemory size of the flavor (in 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

Retrieve the 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}*StringRefer to API authentication token
Query{parameter-group-id or parameter-group-name}StringParameter group ID or name
Response
Status CodeDescription
200Successful response to resource creation request
400Invalid request, unable to process
401Unauthorized user request
403User does not have the required permissions
500Internal server error, unable to process request
FieldData typeDescription
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.clusterEnabledBooleanIndicates whether cluster mode is enabled
- true: Cluster mode enabled
- false: Cluster mode disabled
clusters.recoveryEnabledBooleanIndicates whether high availability mode is enabled
- true: High availability mode enabled (always true if using cluster mode)
- false: High availability mode 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
- No read-only endpoint if using cluster mode
clusters.userNameStringUser ID, - if no authentication used
clusters.subnets[]Object ArrayList of subnets available for placement
clusters.subnets[].idStringSubnet ID
clusters.subnetAssignments[]Object ArrayList of subnet assignments
clusters.subnetAssignments[].primaryObjectSubnet assigned as primary
clusters.subnetAssignments[].primary.idStringSubnet ID assigned as primary
clusters.subnetAssignments[].replicas[]Object ArrayList of subnets assigned as replicas
clusters.subnetAssignments[].replicas[].idStringSubnet ID assigned as replica
clusters.securityGroups[]Object ArrayList of security groups connected to the cluster
clusters.securityGroups[].idStringSecurity group ID
clusters.backupScheduleObjectAutomatic backup policy
clusters.backupSchedule.cronstringCron expression for automatic backup schedule
clusters.backupSchedule.retentionLimitintegerRetention period for automatic backups (in days)
clusters.creatorStringCluster creator ID
clusters.licenseStringLicense type
clusters.statusStringCluster status
clusters.parameterGroupIdStringID of the parameter group applied to the cluster
clusters.parameterGroupNameStringName of the parameter group applied to the cluster
clusters.parameterGroupSyncStatusStringSync status of the parameter group in the cluster
clusters.createdAtIntegerCluster creation time (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
},
"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

Retrieve 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}*StringRefer to API authentication token
Response
Status CodeDescription
200Successful response to resource retrieval/deletion request
400Invalid request, unable to process
401Unauthorized user request
403User does not have the required permissions
404The requested resource does not exist
500Internal server error, unable to process request
FieldData typeDescription
projectIdStringProject ID
objectIdStringObject ID
nameStringCluster name
descriptionStringCluster description
versionStringRedis version
portIntegerRedis port number
clusterEnabledBooleanIndicates if cluster mode is enabled
- true: Cluster mode enabled
- false: Cluster mode disabled
recoveryEnabledBooleanIndicates if high availability mode is enabled
- true: High availability mode enabled (always true if using cluster mode)
- false: High availability mode 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
- No read-only endpoint if using cluster mode
userNameStringUser ID, - if no authentication used
subnets[]Object ArrayList of subnets available for placement
subnets[].idStringSubnet ID
subnetAssignments[]Object ArrayList of subnet assignments
subnetAssignments[].primaryObjectSubnet assigned as primary
subnetAssignments[].primary.idStringSubnet ID assigned as primary
subnetAssignments[].replicas[]Object ArrayList of subnets assigned as replicas
subnetAssignments[].replicas[].idStringSubnet ID assigned as replica
securityGroups[]Object ArrayList of security groups connected to the cluster
securityGroups[].idStringSecurity group ID
backupScheduleObjectAutomatic backup policy
- Null if using cluster mode
backupSchedule.cronStringCron expression for automatic backup schedule
backupSchedule.retentionLimitIntegerRetention period for automatic backups (in days)
creatorStringCluster creator ID
licenseStringLicense type
statusStringCluster status
parameterGroupIdStringParameter group ID applied to the cluster
parameterGroupNameStringParameter group name applied to the cluster
parameterGroupSyncStatusStringSync status of the parameter group in the cluster
createdAtIntegerCluster creation time (RFC3339)
userNameStringUser account name, - if no authentication used
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,
"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

Retrieve detailed information for a 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}*StringRefer to API authentication token
Response
Status CodeDescription
200Successful response to resource retrieval/deletion request
400Invalid request, unable to process
401Unauthorized user request
403User does not have the required permissions
404The requested resource does not exist
500Internal server error, unable to process request
FieldData typeDescription
projectIdStringProject ID
objectIdStringCluster/instance set ID
nameStringCluster name
descriptionStringCluster description
versionStringRedis version
portIntegerRedis port number
clusterEnabledBooleanIndicates if cluster mode is enabled
- true: Cluster mode enabled
- false: Cluster mode disabled
recoveryEnabledBooleanIndicates if high availability mode is enabled
- true: High availability mode enabled
- false: High availability mode 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
- No read-only endpoint if using cluster mode
userNameStringUser ID, - if no authentication used
subnets[]Object ArrayList of subnets available for placement
subnets[].idStringSubnet ID
subnetAssignments[]Object ArrayList of subnet assignments
subnetAssignments[].primaryObjectSubnet assigned as primary
subnetAssignments[].primary.idStringSubnet ID assigned as primary
subnetAssignments[].replicas[]Object ArrayList of subnets assigned as replicas
subnetAssignments[].replicas[].idStringSubnet ID assigned as replica
securityGroups[]Object ArrayList of security groups connected to the cluster
securityGroups[].idStringSecurity group ID
backupScheduleObjectAutomatic backup policy
backupSchedule.cronStringCron expression for automatic backup schedule
backupSchedule.retentionLimitIntegerRetention period for automatic backups (in days)
creatorStringCluster creator ID
licenseStringLicense type
statusStringCluster status
parameterGroupIdStringParameter group ID applied to the cluster
parameterGroupNameStringParameter group name applied to the cluster
parameterGroupSyncStatusStringSync status of the parameter group in the cluster
createdAtIntegerCluster creation time (RFC3339)
userNameStringUser account name, - if no authentication used
Retrieve instance set (non-cluster mode) 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
},
"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 sync status is Error-Sync, Suspended, or another non-normal state, 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}*StringRefer to API authentication token
Response
Status CodeDescription
200Successful response to resource retrieval/deletion request
400Invalid request, unable to process
401Unauthorized user request
403User does not have the required permissions
404The requested resource does not exist
500Internal server error, unable to process request
FieldData typeDescription
objectIdStringCluster ID
Retry applying parameter group response example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8

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