curl --request POST \
--url https://api.aireserve.com/v1/gpu/instances/{instanceId}/recover \
--header 'Authorization: Bearer <token>' \
--header 'Idempotency-Key: <idempotency-key>'import requests
url = "https://api.aireserve.com/v1/gpu/instances/{instanceId}/recover"
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Idempotency-Key': '<idempotency-key>', Authorization: 'Bearer <token>'}
};
fetch('https://api.aireserve.com/v1/gpu/instances/{instanceId}/recover', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"accepted": true,
"resourceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"resourceType": "pod",
"operationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "accepted"
}{
"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": {}
}
}{
"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": {}
}
}Recover GPU instance now
Make one recovery attempt right now, regardless of the policy’s cooldown and cap, for an instance that was running and stopped on its own. Counts toward the current episode. 409 operation_conflict when the instance is running, was never admitted, or another operation is in flight. Poll the operation, then read recovery.lastOutcome. Requires compute manage access.
curl --request POST \
--url https://api.aireserve.com/v1/gpu/instances/{instanceId}/recover \
--header 'Authorization: Bearer <token>' \
--header 'Idempotency-Key: <idempotency-key>'import requests
url = "https://api.aireserve.com/v1/gpu/instances/{instanceId}/recover"
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Idempotency-Key': '<idempotency-key>', Authorization: 'Bearer <token>'}
};
fetch('https://api.aireserve.com/v1/gpu/instances/{instanceId}/recover', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"accepted": true,
"resourceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"resourceType": "pod",
"operationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "accepted"
}{
"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": {}
}
}{
"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).
Headers
Client-chosen key of 8–180 characters [A-Za-z0-9:_-]. Replaying the same key with the same body returns the original operation; a different body with the same key fails with 409 operation_conflict.
8 - 180^[A-Za-z0-9:_-]+$Path Parameters
Response
Accepted. Poll operationId for completion.
Body of every 202 Accepted Compute mutation.
true ID of the resource created or mutated.
^([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)$pod, volume, cluster, template, registry, ssh_key Durable operation record. Poll GET /v1/gpu/operations/{id} until a terminal status.
^([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)$accepted