Skip to content
OpenRelay is in early access, and the /v1 API is stable. New capabilities ship in the changelog.
VMs

Create a VM

Command line

The orl CLI wraps this endpoint:

orl vms create --name <name> --ssh-key-ids <ssh-key-ids>
POST
/v1/orgs/{orgId}/vms/create
AuthorizationBearer <token>

OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).

In: header

Path Parameters

orgId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/orgs/string/vms/create" \  -H "Content-Type: application/json" \  -d '{    "name": "cuda-devbox",    "gpuModelId": "rtx-4090",    "gpuCount": 1,    "imageUrl": "ghcr.io/acme/cuda-devbox:latest",    "diskSizeGb": 100,    "sshKeyIds": [      "key_2f9c1a"    ],    "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"}