OpenAPI enables you to manage Ultipa clusters without logging into Ultipa Cloud.
This article introduces OpenAPI-cluster for operating Graph Powerhouse clusters in Ultipa Cloud.
API Overview
Base URL
The base URL of OpenAPI-cluster is https://cloud.ultipa.com/open/dbaas/v1/cluster/
.
API Keys
API Keys are used to initiate an API request.
On Accounts of Ultipa Cloud, scroll down to API Keys to create or manage your API keys. Remember to download your API key for later usage.
One API key should be included in each request header, with the key name as api_key
.
List Clusters
HTTP Request
To list clusters, submit a GET
request to the following endpoint:
https://cloud.ultipa.com/open/dbaas/v1/cluster/list
Request Header
Key |
Type |
Default |
Required |
Description |
---|---|---|---|---|
api_key |
String | / | Yes | Your Ultipa Cloud API key. |
Request Parameters
Parameter |
Type |
Default |
Required |
Description |
---|---|---|---|---|
page |
Integer | 1 |
No | The page number in the response body. |
size |
Integer | 20 |
No | The number of items displayed per page in the response body. |
instanceStateFilter |
Integer | 1 |
No | Filter for cluster status:
|
directions |
String | desc |
No | Sorting order of elements in the response body: desc or asc . |
sorts |
String | created_at |
No | Field for sorting elements in the response body. |
Request Example
GET https://cloud.ultipa.com/open/dbaas/v1/cluster/list??page=1&size=20&instanceStateFilter=1&directions=desc&sorts=created_at&componentType=GRAPH_V5`
Authorization: Bearer api_key:{Your Ultipa Cloud API key}
Accept: application/json
Response Example
{
"code": 200,
"message": "success",
"data": {
"page": 1,
"size": 20,
"totalPages": 1,
"totalElements": 2,
"list": [
{
"clusterId": "ultipa-abc123",
"clusterState": "STOPPING",
"name": "test2",
"instanceList": [
{
"name": "xxxxxxxx_NAME_SERVER-1",
"instanceState": "STOPPING",
"type": "Name server"
},
{
"name": "xxxxxxxx_META_SERVER-1",
"instanceState": "STOPPING",
"type": "Meta server"
},
{
"name": "xxxxxxxx_SHARD_SERVER-1-1",
"instanceState": "STOPPING",
"type": "Shard server"
}
]
},
{
"clusterId": "ultipa-abc456",
"clusterState": "STOPPING",
"name": "Graph Powerhouse 0",
"instanceList": [
{
"name": "xxxxxxxxxxxx_NAME_SERVER-1",
"instanceState": "STOPPING",
"type": "Name server"
},
{
"name": "xxxxxxxxxxxx_META_SERVER-1",
"instanceState": "STOPPING",
"type": "Meta server"
},
{
"name": "xxxxxxxxxxxx_SHARD_SERVER-1-1",
"instanceState": "STOPPING",
"type": "Shard server"
}
]
}
]
}
}
View Cluster State
HTTP Request
To view the state of a cluster, submit a POST
request to the following endpoint:
https://cloud.ultipa.com/open/dbaas/v1/cluster/state
Request Header
Key |
Type |
Default |
Required |
Description |
---|---|---|---|---|
api_key |
String | / | Yes | Your Ultipa Cloud API key. |
Request Body
{
"clusterIds": ["ultipa-abc123", "ultipa-abc456"]
}
Key |
Type |
Default |
Required |
Description |
---|---|---|---|---|
clusterIds |
Array | / | Yes | The cluster IDs. |
Request Example
POST https://cloud.ultipa.com/open/dbaas/v1/cluster/state
Authorization: Bearer api_key:{Your Ultipa Cloud API key}
Content-Type: application/json
{
"clusterIds": [
"ultipa-abc123",
"ultipa-abc456"
]
}
Response Example
{
"code": 200,
"message": "success",
"data": [
{
"clusterId": "ultipa-abc123",
"clusterState": "STOPPING",
"name": "test2",
"instanceList": [
{
"name": "xxxxxxxxxxxxxxxxx_NAME_SERVER-1",
"instanceState": "STOPPING",
"type": "Name server"
},
{
"name": "xxxxxxxxxxxxxxxxx_META_SERVER-1",
"instanceState": "STOPPING",
"type": "Meta server"
},
{
"name": "xxxxxxxxxxxxxxxxxs_SHARD_SERVER-1-1",
"instanceState": "STOPPING",
"type": "Shard server"
}
]
},
{
"clusterId": "ultipa-abc456",
"clusterState": "STOPPING",
"name": "Graph Powerhouse 0",
"instanceList": [
{
"name": "xxxxxxxxxxxxxyyyyyy_NAME_SERVER-1",
"instanceState": "STOPPING",
"type": "Name server"
},
{
"name": "xxxxxxxxxxxxxyyyyyy_META_SERVER-1",
"instanceState": "STOPPING",
"type": "Meta server"
},
{
"name": "xxxxxxxxxxxxxyyyyyy_SHARD_SERVER-1-1",
"instanceState": "STOPPING",
"type": "Shard server"
}
]
}
]
}
Start a Cluster
HTTP Request
To start a cluster, submit a POST
request to the following endpoint:
https://cloud.ultipa.com/open/dbaas/v1/cluster/start
Request Header
Key |
Type |
Default |
Required |
Description |
---|---|---|---|---|
api_key |
String | / | Yes | Your Ultipa Cloud API key. |
Request Body
{
"clusterId": "ultipa-abc123"
}
Key |
Type |
Default |
Required |
Description |
---|---|---|---|---|
clusterId |
String | / | Yes | The cluster ID. |
Request Example
POST https://cloud.ultipa.com/open/dbaas/v1/cluster/start
Authorization: Bearer api_key:{Your Ultipa Cloud API key}
Content-Type: application/json
{
"clusterId": "ultipa-abc123"
}
Response Example
{
"code": 200,
"message": "success",
"data": null
}
Stop a Cluster
HTTP Request
To stop a cluster, submit a POST
request to the following endpoint:
https://cloud.ultipa.com/open/dbaas/v1/cluster/stop
Request Header
Key |
Type |
Default |
Required |
Description |
---|---|---|---|---|
api_key |
String | / | Yes | Your Ultipa Cloud API key. |
Request Body
{
"clusterId": "ultipa-abc123"
}
Key |
Type |
Default |
Required |
Description |
---|---|---|---|---|
clusterId |
String | / | Yes | The cluster ID. |
Request Example
POST https://cloud.ultipa.com/open/dbaas/v1/cluster/stop
Authorization: Bearer api_key:{Your Ultipa Cloud API key}
Content-Type: application/json
{
"clusterId": "ultipa-abc123"
}
Response Example
{
"code": 200,
"message": "success",
"data": null
}
Response Error Codes
Code |
Message |
Description |
---|---|---|
403 | Forbidden | The given API key does not have permission to perform the request |
405 | Operation not allowed | The current state of the instance does not allow the request |
408 | Login to this account is banned. If you have any questions, please email [email protected] | Your account has been banned |
409 | The account has been canceled | Your account has been canceled |
1301 | Unable to verify identity | You did not provide an API key in the request, or the key is null |
1302 | Key is invalid or has been revoked | The API key does not exist or is invalid |
1303 | Key requests are frequent, please try again later. | The number of requests has exceeded the API request limit |