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.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}"
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"
}