Managing instances
Once an instance exists you can drive its full lifecycle through the API. All
management endpoints operate on your instances only — an ID you do not own
returns 404.
Read operations require vps:read; mutating operations require vps:write
(implied by vps:create).
Inspect
Section titled “Inspect”# All your instancescurl .../api/v1/instances -H "Authorization: Bearer $KEY"
# One instancecurl .../api/v1/instances/123 -H "Authorization: Bearer $KEY"
# Live status + usagecurl .../api/v1/instances/123/status -H "Authorization: Bearer $KEY"
# Historical metrics (range = 1h|6h|24h|7d|30d)curl ".../api/v1/instances/123/metrics?range=24h" -H "Authorization: Bearer $KEY"Power & OS
Section titled “Power & OS”curl -X POST .../api/v1/instances/123/start -H "Authorization: Bearer $KEY"curl -X POST .../api/v1/instances/123/stop -H "Authorization: Bearer $KEY"curl -X POST .../api/v1/instances/123/restart -H "Authorization: Bearer $KEY"
# Reinstall the OS (os slugs come from GET /services/{plan_id}/os-options)curl -X POST .../api/v1/instances/123/reinstall \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"os": "debian-12", "ssh_pubkey": "ssh-ed25519 AAAA..."}'
# Reset the root password (returned once, never stored)curl -X POST .../api/v1/instances/123/reset-password -H "Authorization: Bearer $KEY"Networking
Section titled “Networking”# Change hostnamecurl -X PATCH .../api/v1/instances/123/hostname \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"hostname": "db-01.example.com"}'
# Set reverse DNS (PTR)curl -X POST .../api/v1/instances/123/rdns \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"ip": "203.0.113.10", "ptr": "db-01.example.com"}'Scaling (resize)
Section titled “Scaling (resize)”List plans you can move to (same data centre), then resize. Upgrades are prorated and charged to your wallet; downgrades take effect with no refund.
curl .../api/v1/instances/123/available-plans -H "Authorization: Bearer $KEY"
curl -X POST .../api/v1/instances/123/resize \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"service_id": 15}'Snapshots & backups
Section titled “Snapshots & backups”# Snapshotscurl .../api/v1/instances/123/snapshots -H "Authorization: Bearer $KEY"curl -X POST .../api/v1/instances/123/snapshots \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"name": "before-upgrade"}'curl -X POST .../api/v1/instances/123/snapshots/9/restore -H "Authorization: Bearer $KEY"curl -X DELETE .../api/v1/instances/123/snapshots/9 -H "Authorization: Bearer $KEY"
# Backupscurl .../api/v1/instances/123/backups -H "Authorization: Bearer $KEY"curl -X POST .../api/v1/instances/123/backups/4/restore -H "Authorization: Bearer $KEY"Boot media & rescue
Section titled “Boot media & rescue”# ISO librarycurl .../api/v1/instances/123/isos -H "Authorization: Bearer $KEY"curl -X POST .../api/v1/instances/123/iso \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"iso_id": 7}'curl -X DELETE .../api/v1/instances/123/iso -H "Authorization: Bearer $KEY"
# Rescue mode (enter returns a one-time password)curl -X POST .../api/v1/instances/123/rescue -H "Authorization: Bearer $KEY"curl -X DELETE .../api/v1/instances/123/rescue -H "Authorization: Bearer $KEY"Activity
Section titled “Activity”curl ".../api/v1/instances/123/tasks?limit=20&offset=0" -H "Authorization: Bearer $KEY"For exact request/response shapes of every endpoint, see the API Reference.