Skip to content

API quick reference

Base path: /api/v1. Health: GET /health (outside /api/v1).

Authentication

Mechanism Header
Login JWT Authorization: Bearer <token> from POST /auth/login
API key Authorization: Bearer vfd_live_…

Root (or multi-tenant tools) set tenant context with:

X-Tenant-ID: <tenant-uuid>

See Auth & IAM and Concepts.

WebSockets

Path Purpose
/ws/events Realtime UI events
/ws/console noVNC / VNC proxy

Routes (current)

Auth & shell

Methods Path
POST /auth/login
GET /auth/me
GET /dashboard/summary, /search, /notifications

IAM

Methods Path
GET, POST /users
PATCH, DELETE /users/{id}
GET, POST /roles
PATCH, DELETE /roles/{id}
GET, POST /api-keys
DELETE /api-keys/{id}

Tenants & offerings (root write)

Methods Path Notes
GET, POST /tenants root
DELETE /tenants/{id} root; not default
GET /service-offerings all users
POST, PATCH, DELETE /service-offerings, /service-offerings/{id} root

Catalog & compute

Methods Path
GET, POST /vm-templates
PATCH, DELETE /vm-templates/{id}
GET, POST /vms
GET, PATCH /vms/{name}
GET /vms/{name}/logs
GET, POST /vms/{name}/volumes
DELETE /vms/{name}/volumes/{volume_id}
POST /vms/start, /vms/stop, /vms/delete
GET, POST /ssh-keys
POST /ssh-keys/register
DELETE /ssh-keys/{id}
GET, POST /vms/{name}/ssh

Storage

Methods Path
GET, POST /volumes
DELETE /volumes/{id}
GET, POST /snapshots
GET, POST /vm-snapshots
POST /vm-snapshots/delete, /vm-snapshots/restore

Network

Methods Path
GET, POST /vpcs
GET /vpcs/cidr-plan
PATCH, DELETE /vpcs/{id}
GET, POST /networks
GET /networks/cidr-plan
PATCH, DELETE /networks/{id}
GET, POST /security-groups
PATCH, DELETE /security-groups/{id}

Example session

TOKEN=$(curl -sS -X POST https://iaas.example/api/v1/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"username":"root","password":"…"}' | jq -r .token)

curl -sS https://iaas.example/api/v1/tenants \
  -H "Authorization: Bearer $TOKEN"