Create a pod
Compute-fabric pod (BYO container image + SSH keys): a hardened GPU container on a whole native-driver GPU. Admission claims a free device-request GPU unit (see listPodCapacity for what is claimable), snapshots the on-demand rate immutably onto the pod, and drives the guest workflow.
Command line
The orl CLI wraps this endpoint:
orl pods create --image <image>Authorization
apiKey OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to create a compute-fabric pod: a RunPod-style bring-your-own container image + SSH keys guest. A focused subset of CreateVmRequest (no qcow2 template / kernel modules / privileged mode).
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/pods" \ -H "Content-Type: application/json" \ -d '{ "name": "cuda-devbox", "gpuModelId": "rtx-4090", "computeClass": "on_demand", "image": "ghcr.io/acme/cuda-devbox:latest", "sshKeys": [ "ssh-ed25519 AAAA... user@host" ], "httpPort": 8000, "envVars": { "HF_TOKEN": "hf_xxxxxxxx" } }'{ "id": "string", "organizationId": "string", "name": "string", "status": "string", "statusReason": "string", "gpuModelId": "string", "gpuCount": 0, "endpointUrl": "string", "volumeGb": 0, "public": true, "createdAt": "string", "provisioningStage": "string", "resourceSize": "string", "tier": "string", "diskSizeGb": 0, "gpuModelName": "string", "pricePerHourCents": 0, "serviceType": "string", "managedBy": "string", "capabilityTier": "string", "computeClass": "string", "imageUrl": "string"}List an org's pods (cursor-paginated) GET
Compute-fabric pods for the org resolved from the API key. A pod is a managed_by=fabric Vm row (capabilityTier=pod), so each item is a VmSummary and paging mirrors listOrgVms.
Live pod GPU capacity and on-demand rates GET
What a pod create can actually claim right now, per GPU model: free native (device-request) GPU units on online, non-delisted nodes (the exact filter admission uses), plus the SERVER-computed on-demand hourly rate. Only models with pod units and a price are returned; a create flow should offer exactly these and render these rates verbatim rather than re-deriving prices from the catalog.