Skip to main content
POST
Quote GPU cluster

Authorizations

Authorization
string
header
required

Your AI Reserve API key (aireserve_api_…) from the API Keys page in the portal (https://portal.aireserve.com/keys).

Body

application/json
accelerator
enum<string>
required
Available options:
A40_48GB,
A100_80GB,
H100_80GB,
H100_NVL_94GB,
H200_141GB,
B200_180GB,
B300_288GB,
L40_48GB,
L40S_48GB,
RTX_2000_ADA_16GB,
RTX_4000_ADA_20GB,
RTX_6000_ADA_48GB,
RTX_A5000_24GB,
RTX_PRO_4000_24GB,
RTX_PRO_4500_32GB,
RTX_PRO_6000_96GB,
RTX_PRO_6000_MIG_24GB,
RTX_PRO_6000_MIG_48GB,
MI300X_192GB
nodes
integer
required
Required range: 2 <= x <= 8
gpusPerNode
integer
default:8
Required range: 1 <= x <= 8
region
enum<string>
Available options:
north_america,
united_states,
canada,
europe,
asia_pacific,
oceania
name
string
Required string length: 1 - 120
orchestrator
enum<string>
default:none
Available options:
none,
slurm,
ray
image
string
Required string length: 1 - 500
Pattern: ^(?![A-Za-z][A-Za-z0-9+.-]*:\/\/)[A-Za-z0-9][A-Za-z0-9./_:@-]*$
diskGbPerNode
integer
default:50
Required range: 1 <= x <= 1024
volumeId
string<uuid>
Pattern: ^([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)$
volumeMountPath
string
default:/workspace
Maximum string length: 120
Pattern: ^\/[A-Za-z0-9_-]+(?:\/[A-Za-z0-9_-]+)*\/?$
storage
object
registryCredentialId
string<uuid>
Pattern: ^([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)$
sshKeyIds
string<uuid>[]
Maximum array length: 20
Pattern: ^([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)$
sshPublicKey
string
Required string length: 1 - 16384
env
object
ports
dockerStartCmd
string[]
Maximum array length: 32
Maximum string length: 4096
publicPortsAcknowledged
boolean
default:false
maxHourlyPrice
string
Pattern: ^\d{1,7}(?:\.\d{1,6})?$

Response

Priced. The request can be launched as quoted.

A priced, placeable cluster request. If this is returned, the request can be launched as quoted; a request that cannot be satisfied answers 409 no_capacity instead.

id
string
required

Signed quote token. Same as quoteId.

quoteId
string
required

Pass as quoteId to POST /v1/gpu/clusters to launch exactly what was quoted. Expires after 120 seconds.

kind
enum<string>
required
Available options:
cluster
expiresAt
string<date-time>
required
Pattern: ^(?:(?:\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)))$
accelerator
string
required
nodes
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
gpusPerNode
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
totalGpus
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
orchestrator
enum<string>
required
Available options:
none,
slurm,
ray
region
string | null
required

Normalized region the cluster would run in.

availability
enum<string>
required

Stock signal for ONE node of this shape at the chosen location. Placement of all nodes together is confirmed only at launch; a launch that cannot be fully placed fails its operation with no_capacity.

Available options:
LOW,
MEDIUM,
HIGH,
UNKNOWN
price
object
required
storage
object
required
runtime
object
required
capabilities
object
required
maxHourlyPrice
string

USD amount as a six-decimal string. Never a float.

Pattern: ^\d+(?:\.\d{1,6})?$