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 anX-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:
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:initiating → provisioning → booting → active.
Step 7: Control Your VM
Start, stop, or reboot your VM:Finding resource IDs
Every resource — VM, snapshot, backup, volume, key — gets anid 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.- Python (requests)
- Node.js (fetch)
- Go (raff-go)
Errors you’ll hit early
Every error response is JSON with anerror (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.