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}"
| Type | Parameter | Data Type | Description |
|---|---|---|---|
| Header | {token-id}* | String | Refer to API authentication token |
Response
| Status Code | Description |
|---|---|
200 | Successful response for resource creation request |
400 | The request is invalid and cannot be processed |
403 | Request made by a user without permission |
404 | The requested resource does not exist |
| Field | Type | Description |
|---|---|---|
| [] | String Array | List 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
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}"
| Type | Parameter | Data Type | Description |
|---|---|---|---|
| Header | {token-id}* | String | Refer to API authentication token |
Response
| Status Code | Description |
|---|---|
200 | Successful response for resource creation request |
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 |
|---|---|---|
| flavors[] | Object Array | List of available flavors |
| flavors[].id | String | Flavor ID |
| flavors[].name | String | Flavor name |
| flavors[].vcpus | Integer | Number of virtual CPUs |
| flavors[].memory | Integer | Memory 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}"
| Type | Parameter | Data Type | Description |
|---|---|---|---|
| Header | {token-id}* | String | Refer to API authentication token |
| Query | {parameter-group-id or parameter-group-name} | String | Parameter group ID or name |
Response
| Status Code | Description |
|---|---|
200 | Successful response for resource creation 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 |
500 | Internal error, unable to process the request |
| Field | Type | Description |
|---|---|---|
| clusters[] | Object Array | List of clusters |
| clusters.projectId | String | Project ID |
| clusters.objectId | String | Object ID |
| clusters.name | String | Cluster name |
| clusters.description | String | Cluster description |
| clusters.version | String | Redis version |
| clusters.port | Integer | Redis port number |
| clusters.clusterEnabled | Boolean | Whether cluster mode is enabled - true: Cluster mode enabled - false: Cluster mode disabled |
| clusters.recoveryEnabled | Boolean | Whether high availability mode is enabled - true: HA mode enabled (always true when using cluster mode) - false: HA mode disabled |
| clusters.shardCount | Integer | Number of shards |
| clusters.totalNodeCount | Integer | Total number of nodes |
| clusters.flavorId | String | Flavor ID |
| clusters.vcpu | Integer | Number of virtual CPUs |
| clusters.memory | Integer | Memory size (GiB) |
| clusters.endpoints | Object | Endpoint addresses |
| clusters.endpoints.primaryEndpoint | String | Primary endpoint address |
| clusters.endpoints.readEndpoint | String | Read-only endpoint address - Not available when using cluster mode |
| clusters.userName | String | User ID, - if authentication is not used |
| clusters.subnets[] | Object Array | List of available subnets for node placement |
| clusters.subnets[].id | String | Subnet ID |
| clusters.subnetAssignments[] | Object Array | Subnet assignment list |
| clusters.subnetAssignments[].primary | Object | Subnet assigned to the primary node |
| clusters.subnetAssignments[].primary.id | String | Subnet ID assigned to the primary node |
| clusters.subnetAssignments[].replicas[] | Object Array | List of subnets assigned to replicas |
| clusters.subnetAssignments[].replicas[].id | String | Subnet ID assigned to a replica node |
| clusters.securityGroups[] | Object Array | List of security groups connected to the cluster |
| clusters.securityGroups[].id | String | Security group ID |
| clusters.backupSchedule | Object | Automatic backup policy |
| clusters.backupSchedule.cron | String | Cron expression for the backup schedule |
| clusters.backupSchedule.retentionLimit | Integer | Backup retention period (in days) |
| clusters.tlsEnabled | Boolean | Whether TLS is enabled |
| clusters.creator | String | ID of the cluster creator |
| clusters.license | String | License type |
| clusters.status | String | Cluster status |
| clusters.parameterGroupId | String | Parameter group ID applied to the cluster |
| clusters.parameterGroupName | String | Name of the parameter group applied to the cluster |
| clusters.parameterGroupSyncStatus | String | Sync status of the parameter group on the cluster |
| clusters.createdAt | String | Cluster 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}"
| Type | Parameter | Data Type | Description |
|---|---|---|---|
| URL | {cluster-id}* | String | Cluster ID |
| Header | {token-id}* | String | Refer to API authentication token |
Response
| Status Code | Description |
|---|---|
200 | Successful response for resource retrieval/deletion |
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 | Requested resource does not exist |
500 | Internal error, unable to process the request |
| Field | Type | Description |
|---|---|---|
| projectId | String | Project ID |
| objectId | String | Object ID |
| name | String | Cluster name |
| description | String | Cluster description |
| version | String | Redis version |
| port | Integer | Redis port number |
| clusterEnabled | Boolean | Whether cluster mode is enabled - true: Cluster mode enabled - false: Cluster mode disabled |
| recoveryEnabled | Boolean | Whether high availability mode is enabled - true: HA mode enabled (always true when using cluster mode) - false: HA mode disabled |
| shardCount | Integer | Number of shards - 0 if cluster mode is disabled |
| totalNodeCount | Integer | Total number of nodes |
| flavorId | String | Flavor ID |
| vcpu | Integer | Number of virtual CPUs |
| memory | Integer | Memory size (GiB) |
| endpoints | Object | Endpoint addresses |
| endpoints.primaryEndpoint | String | Primary endpoint address |
| endpoints.readEndpoint | String | Read-only endpoint address - Not available when using cluster mode |
| userName | String | User ID, - if authentication is not used |
| subnets[] | Object Array | List of available subnets for node placement |
| subnets[].id | String | Subnet ID |
| subnetAssignments[] | Object Array | Subnet assignment list |
| subnetAssignments[].primary | Object | Subnet assigned to the primary node |
| subnetAssignments[].primary.id | String | Subnet ID assigned to the primary node |
| subnetAssignments[].replicas[] | Object Array | List of subnets assigned to replicas |
| subnetAssignments[].replicas[].id | String | Subnet ID assigned to a replica node |
| securityGroups[] | Object Array | List of security groups connected to the cluster |
| securityGroups[].id | String | Security group ID |
| backupSchedule | Object | Automatic backup policy |
| backupSchedule.cron | String | Cron expression for the backup schedule |
| backupSchedule.retentionLimit | Integer | Backup retention period (in days) |
| tlsEnabled | Boolean | Whether TLS is enabled |
| creator | String | ID of the cluster creator |
| license | String | License type |
| status | String | Cluster status |
| parameterGroupId | String | Parameter group ID applied to the cluster |
| parameterGroupName | String | Name of the parameter group applied to the cluster |
| parameterGroupSyncStatus | String | Sync status of the parameter group on the cluster |
| createdAt | String | Cluster creation time (RFC3339) |
| userName | String | User 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}"
| Type | Parameter | Data Type | Description |
|---|---|---|---|
| URL | {instance-set-id}* | String | Instance set ID |
| Header | {token-id}* | String | Refer to API authentication token |
Response
| Status Code | Description |
|---|---|
200 | Successful response for resource retrieval/deletion |
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 | Requested resource does not exist |
500 | Internal error, unable to process the request |
| Field | Type | Description |
|---|---|---|
| projectId | String | Project ID |
| objectId | String | Cluster/Instance set ID |
| name | String | Cluster name |
| description | String | Cluster description |
| version | String | Redis version |
| port | Integer | Redis port number |
| clusterEnabled | Boolean | Whether cluster mode is enabled - true: Cluster mode enabled - false: Cluster mode disabled |
| recoveryEnabled | Boolean | Whether high availability mode is enabled - true: HA mode enabled (always true when using cluster mode) - false: HA mode disabled |
| shardCount | Integer | Number of shards - 0 if cluster mode is disabled |
| totalNodeCount | Integer | Total number of nodes |
| flavorId | String | Flavor ID |
| vcpu | Integer | Number of virtual CPUs |
| memory | Integer | Memory size (GiB) |
| endpoints | Object | Endpoint addresses |
| endpoints.primaryEndpoint | String | Primary endpoint address |
| endpoints.readEndpoint | String | Read-only endpoint address - Not available when using cluster mode |
| userName | String | User ID, - if authentication is not used |
| subnets[] | Object Array | List of available subnets for node placement |
| subnets[].id | String | Subnet ID |
| subnetAssignments[] | Object Array | Subnet assignment list |
| subnetAssignments[].primary | Object | Subnet assigned to the primary node |
| subnetAssignments[].primary.id | String | Subnet ID assigned to the primary node |
| subnetAssignments[].replicas[] | Object Array | List of subnets assigned to replicas |
| subnetAssignments[].replicas[].id | String | Subnet ID assigned to a replica node |
| securityGroups[] | Object Array | List of security groups connected to the cluster |
| securityGroups[].id | String | Security group ID |
| backupSchedule | Object | Automatic backup policy |
| backupSchedule.cron | String | Cron expression for the backup schedule |
| backupSchedule.retentionLimit | Integer | Backup retention period (in days) |
| tlsEnabled | Boolean | Whether TLS is enabled |
| creator | String | ID of the cluster creator |
| license | String | License type |
| status | String | Cluster status |
| parameterGroupId | String | Parameter group ID applied to the cluster |
| parameterGroupName | String | Name of the parameter group applied to the cluster |
| parameterGroupSyncStatus | String | Sync status of the parameter group on the cluster |
| createdAt | String | Cluster 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}"
| Type | Parameter | Data Type | Description |
|---|---|---|---|
| URL | {cluster-id or instance-set-id}* | String | Cluster ID or instance set ID |
| Header | {token-id}* | String | Refer to API authentication token |
Response
| Status Code | Description |
|---|---|
200 | Successful response for resource retrieval/deletion |
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 | Requested resource does not exist |
500 | Internal error, unable to process the request |
| Field | Type | Description |
|---|---|---|
| objectId | String | Cluster ID |
Retry applying parameter group Response Example
200 OK
content-length: ...
content-type: application/json; charset=UTF-8
{
"objectId": "aaaassss-7347-4d87-a49f-e705e91db2fb"
}