API Reference
All paid endpoints use MPP on Tempo. Send an unauthenticated request, receive a 402, sign with your wallet, retry. Free endpoints use a zero-amount proof credential for identity.
Catalog
Available server sizes with per-minute and hourly rates, specs, and create fees.
Available regions: nyc1 (New York), sfo3 (San Francisco), ams3 (Amsterdam).
Available OS images: Ubuntu 24.04 LTS, Debian 12.
Current rate for extending a snapshot's retention past the free 72h window: $0.00267 per GB per day (≈ $0.08/GB/month), floored at $0.01 per call. Returns the rate, minimum charge, free retention window, and max days per extend call.
Servers
Create a new server. Charge: create fee + (hourly rate × minutes / 60).
| param | type | description |
|---|---|---|
| size * | string | small, medium, or large |
| region * | string | nyc1, sfo3, or ams3 |
| image | string | OS image slug default: ubuntu-24-04-x64 |
| minutes | integer | Prepaid minutes default: 1 |
| ssh_key_ids | string[] | Key IDs to install |
| snapshot_id | string | Restore from snapshot. Fails with 400 before charge if the snapshot's disk size exceeds the target tier's disk. |
| user_data | string | cloud-init script run as root on first boot (max 64 KB). Stored in DigitalOcean metadata — don't embed secrets you wouldn't trust the infra provider with. |
List your active servers. Requires wallet identity via proof credential.
Server details including IP, root password, remaining time, and status.
Add prepaid time. Minimum charge $0.01.
| param | type | description |
|---|---|---|
| minutes * | integer | Minutes to add |
Live-snapshot a running server without destroying it. Returns 202 immediately with a snapshot id; the DO-side snapshot completes in the background. Resulting snapshot has 72h free retention — extend via POST /v1/snapshots/:id/extend.
| param | type | description |
|---|---|---|
| name | string | Optional display name for the snapshot |
Destroy server. Automatically snapshots before destroying. Snapshot retained 72h free; extend via POST /v1/snapshots/:id/extend to keep it longer.
Reboot server.
Power on or off.
| param | type | description |
|---|---|---|
| action * | string | on or off |
Snapshots
Every snapshot (from DELETE /v1/servers/:id or POST /v1/servers/:id/snapshot) gets a free 72-hour retention window. To keep it longer, call /extend with a number of days. See snapshot pricing.
List your non-expired snapshots. Each row includes size_gb, expires_at, and remaining_days so you can decide whether to extend.
Snapshot detail: source server, size_gb, region, expires_at, remaining_days, created_at.
Extend retention by N days. Charge is floored at $0.01 per call. New expiry is max(now, current_expires_at) + days — stacking extensions never shrinks remaining life.
| param | type | description |
|---|---|---|
| days * | integer | Days to add (1–365) |
Delete a snapshot early. No refund for unused retention days.
SSH Keys
Register an SSH public key.
| param | type | description |
|---|---|---|
| name * | string | Display name |
| public_key * | string | Full public key (e.g. ssh-ed25519 AAAA...) |
List your registered SSH keys.
Remove an SSH key.