Sandbox

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

Loading…

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

MethodPathDescriptionSupport
POST/v1/sandboxesCreate a sandbox● Supported
POST/v1/sandboxes/{sandboxID}/upgradeUpgrade to a full sandbox● Supported
GET/v1/sandboxesList running sandboxes● Supported
GET/v1/sandboxes/{sandboxID}Get a sandbox● Supported
PATCH/v1/sandboxes/{sandboxID}Rename a sandbox● Supported
GET/v1/sandboxes/{sandboxID}/metricsGet sandbox metrics● Supported
POST/v1/sandboxes/{sandboxID}/timeoutSet sandbox timeout● Supported
POST/v1/sandboxes/{sandboxID}/pausePause a sandbox● Supported
POST/v1/sandboxes/{sandboxID}/connectConnect to a sandbox● Supported
DELETE/v1/sandboxes/{sandboxID}Kill a sandbox● Supported
GET/v1/templatesList templates● Supported
POST/v1/volumesCreate team volume● Supported
GET/v1/volumesList team volumes● Supported
GET/v1/volumes/{volumeID}Team volume● Supported
DELETE/v1/volumes/{volumeID}Delete team volume● Supported
POST/v1/sandboxes/{sandboxID}/forkFork a sandbox● Supported
POST/v1/sandboxes/{sandboxID}/snapshotsCreate a snapshot● Supported
GET/v1/snapshotsList snapshots● Supported
DELETE/v1/snapshots/{snapshotID}Delete a snapshot● Supported
PUT/v1/sandboxes/{sandboxID}/networkUpdate sandbox network● Supported
GET/v1/sandboxes/{sandboxID}/logsGet sandbox logs● Supported
POST/v1/sandboxes/{sandboxID}/extendExtend a running sandbox without shortening its deadline● Supported
GET/v1/sandboxes/{sandboxID}/processesList live processes and retained observations● Supported
GET/v1/sandboxes/{sandboxID}/processes/{processID}/outputRead 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.

Export

On this page