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

Quickstart

From an API key to your first running GPU VM, with the orl CLI or plain curl.

This guide takes you from zero to a running GPU VM. The fastest path is the orl CLI; every step also shows the raw curl call so you can build the same flow into an app.

Just want the shortest possible path? Follow the CLI Quickstart, which skips curl entirely.

Get your credentials

Create an API key in the dashboard under Account > API Keys. The key (it starts with or_) is shown once. It is bound to your organization, the workspace that owns your keys, VMs, and balance.

Log in once and paste the key. orl reads your organization from the key, so there is no org id to manage:

orl auth login

Browse the catalog

See what GPUs are available and what they cost.

orl catalog gpu-availability get
orl catalog pricing get

Note a gpuModelId with available capacity. You will use it next.

Add an SSH key

Every VM is created with at least one of your organization's SSH keys. The gateway authorizes SSH against exactly the keys a VM carries, so a VM created without one would have no way in.

orl ssh-keys create --name laptop --public-key "$(cat ~/.ssh/id_ed25519.pub)"
orl ssh-keys list          # the id column is what deploy takes

Launch a GPU VM

Create a VM. It needs a name and at least one SSH key id; specify a GPU model and a container image to pick hardware and what runs on it.

orl deploy takes a name and at least one --ssh-key. Add --wait to block until it is ready, or --connect to wait and then open an SSH session:

orl deploy my-first-vm \
  --gpu-model rtx-4090 \
  --gpu-count 1 \
  --image ghcr.io/my-org/my-image:latest \
  --ssh-key $SSH_KEY_ID \
  --wait

Boot takes a few minutes while the VM provisions and starts, longer for many-GPU shapes.

Wait until it's running

--wait (or --connect) already blocked until the VM was ready. To check a VM later:

orl vms get <vm-id>

Connect, then stop billing

Reach the box over SSH, or hit the endpointUrl your container exposes. A VM bills until you stop or terminate it.

orl vms ssh <vm-id>         # open a session
orl vms stop <vm-id>        # stop the meter, keep the disk
orl vms terminate <vm-id>   # destroy it

Next steps

  • Drive everything from the terminal → Command Line
  • Run an autoscaling endpoint instead of a single box → Clusters
  • Automate top-ups and avoid interruptions → Billing
  • React to lifecycle events → Webhooks
  • Explore every endpoint interactively → API Reference

On this page