curl --request GET \
--url https://api.aireserve.com/v1/gpu/clusters/{clusterId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aireserve.com/v1/gpu/clusters/{clusterId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aireserve.com/v1/gpu/clusters/{clusterId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "requested",
"desiredState": "running",
"accelerator": {
"model": "<string>",
"count": 0,
"perNode": 0
},
"topology": {
"nodes": 0,
"gpusPerNode": 0,
"orchestrator": "none",
"interconnect": "private_network"
},
"runtime": {
"type": "container",
"profile": "<string>"
},
"location": {
"region": "<string>"
},
"storage": {
"rootGbPerNode": 0,
"rootPersistence": "ephemeral",
"volumeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"persistent": {
"volumeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sizeGb": 0,
"mountPath": "<string>",
"usdPerHour": "<string>",
"billsUntilDeleted": true,
"survivesStop": true,
"survivesTerminate": true,
"multiAttach": false,
"status": "<string>"
}
},
"price": {
"usdPerHour": "<string>",
"storageOnlyUsdPerHour": "<string>"
},
"capabilities": {
"start": false,
"stop": false,
"restart": false,
"ssh": true,
"logs": true,
"persistentVolumes": true,
"stopPreservesRootDisk": false
},
"recovery": {
"policy": {
"mode": "none",
"maxAttempts": 5,
"cooldownMinutes": 60
},
"attempts": 0,
"maxAttempts": 0,
"lastAttemptAt": "2023-11-07T05:31:56Z",
"lastOutcome": "recovering"
},
"nodes": [
{
"rank": 0,
"role": "<string>",
"status": "requested",
"overlayIp": "<string>",
"sshAvailable": true
}
],
"createdAt": "2023-11-07T05:31:56Z",
"readyAt": "2023-11-07T05:31:56Z",
"lastError": "<string>"
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "<string>",
"details": {}
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "<string>",
"details": {}
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "<string>",
"details": {}
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "<string>",
"details": {}
}
}Get GPU cluster
The cluster with its read-only member nodes. degraded means some nodes have left running; billing continues until terminate. Requires compute read access.
curl --request GET \
--url https://api.aireserve.com/v1/gpu/clusters/{clusterId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aireserve.com/v1/gpu/clusters/{clusterId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aireserve.com/v1/gpu/clusters/{clusterId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "requested",
"desiredState": "running",
"accelerator": {
"model": "<string>",
"count": 0,
"perNode": 0
},
"topology": {
"nodes": 0,
"gpusPerNode": 0,
"orchestrator": "none",
"interconnect": "private_network"
},
"runtime": {
"type": "container",
"profile": "<string>"
},
"location": {
"region": "<string>"
},
"storage": {
"rootGbPerNode": 0,
"rootPersistence": "ephemeral",
"volumeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"persistent": {
"volumeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sizeGb": 0,
"mountPath": "<string>",
"usdPerHour": "<string>",
"billsUntilDeleted": true,
"survivesStop": true,
"survivesTerminate": true,
"multiAttach": false,
"status": "<string>"
}
},
"price": {
"usdPerHour": "<string>",
"storageOnlyUsdPerHour": "<string>"
},
"capabilities": {
"start": false,
"stop": false,
"restart": false,
"ssh": true,
"logs": true,
"persistentVolumes": true,
"stopPreservesRootDisk": false
},
"recovery": {
"policy": {
"mode": "none",
"maxAttempts": 5,
"cooldownMinutes": 60
},
"attempts": 0,
"maxAttempts": 0,
"lastAttemptAt": "2023-11-07T05:31:56Z",
"lastOutcome": "recovering"
},
"nodes": [
{
"rank": 0,
"role": "<string>",
"status": "requested",
"overlayIp": "<string>",
"sshAvailable": true
}
],
"createdAt": "2023-11-07T05:31:56Z",
"readyAt": "2023-11-07T05:31:56Z",
"lastError": "<string>"
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "<string>",
"details": {}
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "<string>",
"details": {}
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "<string>",
"details": {}
}
}{
"error": {
"message": "<string>",
"type": "invalid_request_error",
"param": "<string>",
"code": "<string>",
"details": {}
}
}Authorizations
Your AI Reserve API key (aireserve_api_…) from the API Keys page in the portal (https://portal.aireserve.com/keys).
Path Parameters
Response
OK
A provider-hidden multi-node GPU cluster. Provider placement identifiers are intentionally omitted.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$degraded: the cluster was admitted running and some nodes have since left running. Billing continues while you recover or terminate it.
requested, provisioning, starting, running, degraded, terminating, terminated, reconciling, failed A cluster has no stopped state; terminate releases every node.
running, terminated Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Health recovery state. Billing is unchanged by recovery: the resource keeps accruing while an attempt runs.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$When every node was first verified running; the billing clock start.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$