Create, manage, and scale virtual private servers. Full lifecycle control with start/stop, resize, snapshots, console access, real-time events, and metrics.
Include your API key or JWT token in the Authorization header. All VPS endpoints require authentication and appropriate project membership.
VPS instances run on KubeVirt inside our K3s clusters. You create a server, choose a size and OS image, and we provision a fully isolated virtual machine with its own IP, storage, and network.
POST /projects/{slug}/vps with a name, size, and OS image
GET /vps/{id}/events/stream (SSE)
/projects/{slug}/vps
Create a new VPS
/projects/{slug}/vps
List all VPS in a project
/vps/{id}
Get VPS details
/vps/{id}
Permanently delete a VPS
/vps/{id}/start
Start a stopped VPS
/vps/{id}/stop
Stop a running VPS
/vps/{id}/restart
Reboot a running VPS
/vps/{id}/resize
Change CPU/RAM (VPS must be stopped)
/vps/{id}/console
Get web console session (VPS must be running)
/vps/{id}/events
List all events for a VPS
/vps/{id}/events/stream
Real-time event stream (SSE)
/vps/{id}/metrics
CPU, memory, disk, and network metrics
/vps/{id}/snapshots
Create a snapshot
/vps/{id}/snapshots
List all snapshots
/vps/{id}/snapshots/{snapshot_id}/restore
Restore from snapshot (VPS must be stopped)
/vps/{id}/snapshots/{snapshot_id}
Delete a snapshot
The VPS must be stopped before restoring from a snapshot. All current data will be replaced with the snapshot contents.
All errors follow a standard format.
400
Invalid request body or parameters
401
Invalid or missing authentication
403
Insufficient permissions for this project
404
VPS or project not found
409
VPS is in an incompatible state (e.g., resize while running)
422
Validation error (invalid size, duplicate name)
429
Rate limit exceeded