Skip to main content
Updated May 8, 2026

Prerequisites

  • A Raff account (sign up)
  • An API key — see Generate an API key for the full dashboard create flow (Account Role, Project Role, expiration, and copy-once warning).

Step 1: Check API Health

Verify the API is reachable (no authentication required):

Step 2: List Your VMs

Use your API key to list virtual machines on your account:

Step 3: Get a project ID

Mutating endpoints require an X-Project-ID header. List your projects and pick one:

Step 4: Browse the catalog

The public catalog tells you what’s available before you create anything — regions, OS templates, and per-resource pricing. No auth required for any catalog endpoint. For this quickstart, grab an OS template:
And a VM pricing plan:
Pick a pricing_id from the response — pricing_id: 1 is the cheapest Premium plan.

Step 5: Create a VM

Step 6: Check VM Status

Once created, fetch your VM details:
The VM will transition through statuses: initiatingprovisioningbootingactive.

Step 7: Control Your VM

Start, stop, or reboot your VM:

Finding resource IDs

Every resource — VM, snapshot, backup, volume, key — gets an id at create time, returned in the create response. If you didn’t save it, the only way to find it later is to list the resource and pick the one you want. The dashboard does this internally; you do the same over the API. All list endpoints support limit (default 20–50) and offset for pagination. Pass X-Project-ID to scope to a single project where applicable.

Same flow in Python / Node.js / Go

Raff doesn’t ship a first-party SDK today — the API is plain REST + JSON, so any HTTP client works. Examples of the same Step 5 (create VM) below.

Errors you’ll hit early

Every error response is JSON with an error (short label) and a message (human-readable detail). The HTTP statuses you’ll see most: A simple retry helper for 5xx and 429:

Next Steps

Authentication

Learn about API key authentication and rate limits.

Create Your First VM

Step-by-step guide with VPC networking and SSH setup.
Last modified on May 8, 2026