Sandbox API
Our sandbox API has exactly one version, v1: one interface per function, shaped like E2B's current latest version for that function. The official E2B SDK cannot be pointed here unmodified — call each endpoint with the request examples shown below.
Sandbox runs isolated environments for commands, files and HTTP services through /sandbox/v1, with an SDK-compatible face at /e2b. Concepts and behavior follow E2B (templates, sandboxes, envd files and commands, timeouts and pause/resume), so E2B experience applies. Differences: templateID resolves to your ready Environment or a public Base and must be supplied explicitly; light sandboxes are own-face only, preserve disk rather than memory on pause and provide a limited shell, line terminals and no metrics; port URLs use the returned sandboxID and domain, not an E2B hostname; network.httpsPorts is rejected; persistent sandboxes can resume on traffic even when autoResume is false. Files and command execution use the envd data plane; the sandbox management methods do not execute commands or write files. Start with praxis.sandbox.templates.list to choose an available template.
Base URL
Get started
Loading…HTTP and SDK access
Call /sandbox/v1 directly over HTTP with the X-API-Key header. Use the E2B-compatible API with the official E2B SDK. Changing its API URL alone cannot make it call these endpoints.
HTTP base URL: .
Endpoints
| Method | Path | Description | Support |
|---|---|---|---|
| POST | /v1/sandboxes | Create a sandbox | ● Supported |
| POST | /v1/sandboxes/{sandboxID}/upgrade | Upgrade to a full sandbox | ● Supported |
| GET | /v1/sandboxes | List running sandboxes | ● Supported |
| GET | /v1/sandboxes/{sandboxID} | Get a sandbox | ● Supported |
| PATCH | /v1/sandboxes/{sandboxID} | Rename a sandbox | ● Supported |
| GET | /v1/sandboxes/{sandboxID}/metrics | Get sandbox metrics | ● Supported |
| POST | /v1/sandboxes/{sandboxID}/timeout | Set sandbox timeout | ● Supported |
| POST | /v1/sandboxes/{sandboxID}/pause | Pause a sandbox | ● Supported |
| POST | /v1/sandboxes/{sandboxID}/connect | Connect to a sandbox | ● Supported |
| DELETE | /v1/sandboxes/{sandboxID} | Kill a sandbox | ● Supported |
| GET | /v1/templates | List templates | ● Supported |
| POST | /v1/volumes | Create team volume | ● Supported |
| GET | /v1/volumes | List team volumes | ● Supported |
| GET | /v1/volumes/{volumeID} | Team volume | ● Supported |
| DELETE | /v1/volumes/{volumeID} | Delete team volume | ● Supported |
| POST | /v1/sandboxes/{sandboxID}/fork | Fork a sandbox | ● Supported |
| POST | /v1/sandboxes/{sandboxID}/snapshots | Create a snapshot | ● Supported |
| GET | /v1/snapshots | List snapshots | ● Supported |
| DELETE | /v1/snapshots/{snapshotID} | Delete a snapshot | ● Supported |
| PUT | /v1/sandboxes/{sandboxID}/network | Update sandbox network | ● Supported |
| GET | /v1/sandboxes/{sandboxID}/logs | Get sandbox logs | ● Supported |
| POST | /v1/sandboxes/{sandboxID}/extend | Extend a running sandbox without shortening its deadline | ● Supported |
| GET | /v1/sandboxes/{sandboxID}/processes | List live processes and retained observations | ● Supported |
| GET | /v1/sandboxes/{sandboxID}/processes/{processID}/output | Read bounded observed process output | ● Supported |
Differences from E2B
- Snapshots use platform IDs beginning with snap_, accepted as templateID when creating a sandbox. Retired vendor handles are rejected. Resume a paused sandbox by connecting to it.
- Only endpoints declared on this page are offered. Unadopted endpoints such as webhooks return 404.
- Create a sandbox:The platform does not provide E2B's default base template yet: Sandbox.create() without a template returns 404, so name a template explicitly (see List templates for what is available).
For authoritative parameter definitions, see the official E2B documentation.
Errors follow the E2B format, see errors; quotas and response headers are covered in rate limits.