curl --request POST \
--url https://api.aireserve.com/v1/gpu/quotes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dataCenterId": "<string>",
"cpuTypeId": "<string>",
"vcpuCount": 129,
"gpuTypeId": "<string>",
"gpuCount": 8,
"containerDiskGb": 512,
"sizeGb": 2053
}
'import requests
url = "https://api.aireserve.com/v1/gpu/quotes"
payload = {
"dataCenterId": "<string>",
"cpuTypeId": "<string>",
"vcpuCount": 129,
"gpuTypeId": "<string>",
"gpuCount": 8,
"containerDiskGb": 512,
"sizeGb": 2053
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dataCenterId: '<string>',
cpuTypeId: '<string>',
vcpuCount: 129,
gpuTypeId: '<string>',
gpuCount: 8,
containerDiskGb: 512,
sizeGb: 2053
})
};
fetch('https://api.aireserve.com/v1/gpu/quotes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "<string>",
"quoteId": "<string>",
"kind": "pod",
"spec": {},
"hourlyRateUsd": "<string>",
"computeUsdPerHour": "<string>",
"storageUsdPerHour": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"hardwareUsdPerHour": "<string>",
"containerDiskUsdPerHour": "<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": {}
}
}Request a price quote
Validate a candidate pod or volume spec against live capacity and return a signed price quote. Pass the returned quoteId in the following create or grow request. Quotes expire after 120 seconds; the price is rechecked at accept time and a changed price fails with 409 price_changed. Requires compute read access.
curl --request POST \
--url https://api.aireserve.com/v1/gpu/quotes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dataCenterId": "<string>",
"cpuTypeId": "<string>",
"vcpuCount": 129,
"gpuTypeId": "<string>",
"gpuCount": 8,
"containerDiskGb": 512,
"sizeGb": 2053
}
'import requests
url = "https://api.aireserve.com/v1/gpu/quotes"
payload = {
"dataCenterId": "<string>",
"cpuTypeId": "<string>",
"vcpuCount": 129,
"gpuTypeId": "<string>",
"gpuCount": 8,
"containerDiskGb": 512,
"sizeGb": 2053
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dataCenterId: '<string>',
cpuTypeId: '<string>',
vcpuCount: 129,
gpuTypeId: '<string>',
gpuCount: 8,
containerDiskGb: 512,
sizeGb: 2053
})
};
fetch('https://api.aireserve.com/v1/gpu/quotes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "<string>",
"quoteId": "<string>",
"kind": "pod",
"spec": {},
"hourlyRateUsd": "<string>",
"computeUsdPerHour": "<string>",
"storageUsdPerHour": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"hardwareUsdPerHour": "<string>",
"containerDiskUsdPerHour": "<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).
Body
Hardware parameters to price. Pod quotes need gpuTypeId, gpuCount, containerDiskGb; volume quotes need sizeGb.
Defaults to volume when sizeGb is present, otherwise pod.
pod, volume GPU, CPU 2 <= x <= 256SECURE, COMMUNITY 1 <= x <= 161 <= x <= 102410 <= x <= 4096Response
OK
Signed quote token. Same as quoteId.
Pass as quoteId in the create or grow request. Expires after 120 seconds.
pod, volume The normalized hardware spec the quote binds.
Show child attributes
Show child attributes
USD amount as a six-decimal string. Never a float.
^\d+(?:\.\d{1,6})?$USD amount as a six-decimal string. Never a float.
^\d+(?:\.\d{1,6})?$USD amount as a six-decimal string. Never a float.
^\d+(?:\.\d{1,6})?$^(?:(?:\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)))$USD amount as a six-decimal string. Never a float.
^\d+(?:\.\d{1,6})?$USD amount as a six-decimal string. Never a float.
^\d+(?:\.\d{1,6})?$