Skip to main content

Common

Common APIs are available regardless of the cluster mode configuration.

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 for resource creation request
400The request is invalid and cannot be processed
403Request made by a user without permission
404The requested resource does not exist
FieldTypeDescription
[]String ArrayList of engine versions
Retrieve engine version list Response Example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
["7.2.6","7.0.15","6.2.16","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 for resource creation request
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
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

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 for resource creation request
400The request is invalid and cannot be processed
401Request made by an unauthenticated user
403Request made by a user without permission
500Internal error, unable to process the request
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: Cluster mode enabled
- false: Cluster mode disabled
clusters.recoveryEnabledBooleanWhether high availability mode is enabled
- true: HA mode enabled (always true when using cluster mode)
- false: HA 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
- Not available when using cluster mode
clusters.userNameStringUser ID, - if authentication is not used
clusters.subnets[]Object ArrayList of available subnets for node placement
clusters.subnets[].idStringSubnet ID
clusters.subnetAssignments[]Object ArraySubnet assignment list
clusters.subnetAssignments[].primaryObjectSubnet assigned to the primary node
clusters.subnetAssignments[].primary.idStringSubnet ID assigned to the primary node
clusters.subnetAssignments[].replicas[]Object ArrayList of subnets assigned to replicas
clusters.subnetAssignments[].replicas[].idStringSubnet ID assigned to a replica node
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 the backup schedule
clusters.backupSchedule.retentionLimitIntegerBackup retention period (in days)
clusters.tlsEnabledBooleanWhether TLS is enabled
clusters.creatorStringID of the cluster creator
clusters.licenseStringLicense type
clusters.statusStringCluster status
clusters.parameterGroupIdStringParameter group ID applied to the cluster
clusters.parameterGroupNameStringName of the parameter group applied to the cluster
clusters.parameterGroupSyncStatusStringSync status of the parameter group on the cluster
clusters.createdAtStringCluster 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,
"recoveryEnabled": true,
"shardCount": 2,
"totalNodeCount": 6,
"flavorId": "ffffffff-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 16,
"endpoints": {
"primaryEndpoint": "",
"readEndpoint": ""
},
"userName": "testusername",
"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"}
]
}
],
"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,
"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

Retrieve detailed information of 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 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
404Requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
projectIdStringProject ID
objectIdStringObject ID
nameStringCluster name
descriptionStringCluster description
versionStringRedis version
portIntegerRedis port number
clusterEnabledBooleanWhether cluster mode is enabled
- true: Cluster mode enabled
- false: Cluster mode disabled
recoveryEnabledBooleanWhether high availability mode is enabled
- true: HA mode enabled (always true when using cluster mode)
- false: HA 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
- Not available when using cluster mode
userNameStringUser ID, - if authentication is not used
subnets[]Object ArrayList of available subnets for node placement
subnets[].idStringSubnet ID
subnetAssignments[]Object ArraySubnet assignment list
subnetAssignments[].primaryObjectSubnet assigned to the primary node
subnetAssignments[].primary.idStringSubnet ID assigned to the primary node
subnetAssignments[].replicas[]Object ArrayList of subnets assigned to replicas
subnetAssignments[].replicas[].idStringSubnet ID assigned to a replica node
securityGroups[]Object ArrayList of security groups connected to the cluster
securityGroups[].idStringSecurity group ID
backupScheduleObjectAutomatic backup policy
backupSchedule.cronStringCron expression for the backup schedule
backupSchedule.retentionLimitIntegerBackup retention period (in days)
tlsEnabledBooleanWhether TLS is enabled
creatorStringID of the cluster creator
licenseStringLicense type
statusStringCluster status
parameterGroupIdStringParameter group ID applied to the cluster
parameterGroupNameStringName of the parameter group applied to the cluster
parameterGroupSyncStatusStringSync status of the parameter group on the cluster
createdAtStringCluster creation time (RFC3339)
userNameStringUser account name, - if authentication is not 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,
"recoveryEnabled": true,
"shardCount": 2,
"totalNodeCount": 6,
"flavorId": "ffffffff-ea2f-4822-8a7d-9e301c86a58d",
"vcpu": 2,
"memory": 16,
"endpoints": {
"primaryEndpoint": "",
"readEndpoint": ""
},
"userName": "testusername",
"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"}
]
}
],
"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

Retrieve detailed information of a specified instance set (non-cluster mode).

Request
Retrieve instance set 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 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
404Requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
projectIdStringProject ID
objectIdStringCluster/Instance set ID
nameStringCluster name
descriptionStringCluster description
versionStringRedis version
portIntegerRedis port number
clusterEnabledBooleanWhether cluster mode is enabled
- true: Cluster mode enabled
- false: Cluster mode disabled
recoveryEnabledBooleanWhether high availability mode is enabled
- true: HA mode enabled (always true when using cluster mode)
- false: HA 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
- Not available when using cluster mode
userNameStringUser ID, - if authentication is not used
subnets[]Object ArrayList of available subnets for node placement
subnets[].idStringSubnet ID
subnetAssignments[]Object ArraySubnet assignment list
subnetAssignments[].primaryObjectSubnet assigned to the primary node
subnetAssignments[].primary.idStringSubnet ID assigned to the primary node
subnetAssignments[].replicas[]Object ArrayList of subnets assigned to replicas
subnetAssignments[].replicas[].idStringSubnet ID assigned to a replica node
securityGroups[]Object ArrayList of security groups connected to the cluster
securityGroups[].idStringSecurity group ID
backupScheduleObjectAutomatic backup policy
backupSchedule.cronStringCron expression for the backup schedule
backupSchedule.retentionLimitIntegerBackup retention period (in days)
tlsEnabledBooleanWhether TLS is enabled
creatorStringID of the cluster creator
licenseStringLicense type
statusStringCluster status
parameterGroupIdStringParameter group ID applied to the cluster
parameterGroupNameStringName of the parameter group applied to the cluster
parameterGroupSyncStatusStringSync status of the parameter group on the cluster
createdAtStringCluster creation time (RFC3339)
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,
"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

Retry applying a parameter group to the cluster when its sync status is abnormal, such as Error-Sync or Suspended.

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 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
404Requested resource does not exist
500Internal error, unable to process the request
FieldTypeDescription
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"
}