| GET | /v1/sandboxes/status | Primitive status: configured, your count, sizes, usage rates |
| GET | /v1/sandboxes | List the user’s sandboxes |
| POST | /v1/sandboxes | Create a sandbox ({ name?, size?, memory_gib?, disk_gib? }) — usage-billed |
| GET | /v1/sandboxes/:id | Get a sandbox + metered credits |
| DELETE | /v1/sandboxes/:id | Destroy the sandbox (stops billing) |
| POST | /v1/sandboxes/:id/exec | Run a shell command ({ command, cwd?, env?, timeout_ms? }) |
| POST | /v1/sandboxes/:id/files | Write a file ({ path, content, encoding? }) |
| GET | /v1/sandboxes/:id/files | Read a file (?path=&encoding=) |
| GET | /v1/sandboxes/:id/files/ls | List a directory (?path=) — { name, type }[] |
| POST | /v1/sandboxes/:id/files/mkdir | Create a directory + missing parents ({ path }) |
| DELETE | /v1/sandboxes/:id/files | Remove a file or directory tree (?path=) |
| POST | /v1/sandboxes/:id/expose | Expose a guest port publicly ({ port, protocol? }) — sensitive |
| DELETE | /v1/sandboxes/:id/expose/:port | Stop exposing a guest port |
| GET | /v1/sandboxes/:id/expose | List exposed ports + endpoints (doesn’t wake it) |
| POST | /v1/sandboxes/:id/checkpoints | Durable checkpoint (disk + memory + connections) |
| POST | /v1/sandboxes/:id/fork | New sandbox from a checkpoint ({ name?, checkpoint_id? }) |
| POST | /v1/sandboxes/:id/park | Checkpoint + stop the sandbox (free while parked) |
| POST | /v1/sandboxes/:id/sleep | Idle the sandbox (free; wakes on traffic, exec, or { wake_at? }) |
| POST | /v1/sandboxes/:id/resume | Resume a parked/sleeping sandbox (meter restarts) |