VMs
Get a VM with its GPU/node/template info and price
Command line
The orl CLI wraps this endpoint:
orl vms detail get <id>Authorization
apiKey AuthorizationBearer <token>
OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
In: header
Path Parameters
id*string
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/vms/string/detail"{ "id": "string", "organizationId": "string", "name": "string", "status": "string", "statusReason": "string", "provisioningStage": "string", "gpuModelId": "string", "gpuCount": 0, "resourceSize": "string", "tier": "string", "diskSizeGb": 0, "diskUsedBytes": 0, "diskTotalBytes": 0, "imageUrl": "string", "capabilityTier": "string", "computeClass": "string", "containerPort": 0, "endpointUrl": "string", "public": true, "healthy": true, "nodeId": "string", "internalIp": "string", "sshPort": 0, "rdpPort": 0, "rdpPassword": "string", "persistentDiskPath": "string", "startedAt": "string", "terminatedAt": "string", "createdAt": "string", "updatedAt": "string", "osType": "string", "nonBillable": true, "pricePerHourCents": 0, "sshHost": "string", "sshHandle": "string", "sshUser": "string", "sshCommand": "string", "sshReady": true, "sshState": "ready", "sshStateReason": "string", "serviceType": "string", "hostDiskFreeGb": 0, "hostDiskTotalGb": 0, "volumeGb": 0, "volumeMountPath": "string", "volumeUsedBytes": 0, "volumeUsedAt": "string", "interruptedAt": "string", "gpuInfo": { "name": "string", "vramGb": 0, "pricePerHourCents": 0 }, "nodeInfo": { "hostname": "string", "location": "string" }, "templateInfo": { "name": "string", "osType": "string", "osVersion": "string" }}Get a VM by id GET
Previous Page
Live burn rate, session cost so far, and org runway for a VM GET
Every VM bills at one bundled hourly rate (per-GPU catalog price times GPU count for GPU VMs, a flat size rate for CPU VMs); disk is included, never billed separately. The rate is locked when the usage session opens, so this endpoint reads it from the open usage record when one exists (rateSource=locked) and only falls back to the current catalog when nothing is accruing (rateSource=catalog).