Create a sandbox
Provisions a sandbox synchronously. The request blocks until the sandbox is
ready (~2–3s typical). Returns 201 with status: "ready". Use a client
timeout of at least 90 seconds. On provisioning failure the API returns 503.
GET /sandboxes/{id}/wait remains for reconnect edge cases (e.g. after resume);
it is not required after create.
Network egress
Control outbound network access at create time with the egress object, or
the legacy blockOutbound: true shorthand (maps to deny_all). You cannot
set both on the same request.
egress.mode | Behavior |
|---|---|
open | Full outbound internet (default when omitted) |
deny_all | All outbound connections blocked |
restricted | Default deny + allowlist in egress.allow |
Change policy later with PUT /sandboxes/{id}/egress.
ready (~2–3s on a typical cold start). Use a client timeout of at least 90 seconds. On failure the API returns 503 with an actionable message.
Network egress (request body)
Control outbound network access when creating a sandbox:Examples
egress; fetch the sandbox with GET /sandboxes/{id} to read the applied policy.
Change egress on a running sandbox with Update sandbox egress.Authorizations
Your account-level Brimble API key. Find it in the dashboard under your profile drawer → API key (click the avatar in the sidebar). Available on paid plans only.
Body
Display name. Auto-generated (random animal) if omitted.
1 - 64Template name from the available sandbox images (e.g. node-22, python-3.12). Defaults to the server's configured default.
Create the sandbox under a team you're a member of. Copy the team ID from the team's settings page in the dashboard. Omit for a personal sandbox.
^[a-f0-9]{24}$Project-environment ObjectId to scope the sandbox to.
^[a-f0-9]{24}$Region id from GET /v1/regions, or "auto" to let the server
pick one for you. Optional; defaults to "auto" when omitted.
If true, sandbox auto-destroys after destroyTimeout.
Required when autoDestroy=true. Ignored otherwise.
30m, 1h, 3h, 6h, 12h, 18h If true, sandbox auto-destroys when its main process exits.
Legacy shorthand for egress.mode = deny_all. Prefer egress for new
integrations. Cannot be combined with egress on the same request.
Outbound network policy applied to the sandbox container.
Provision a fresh per-sandbox persistent volume for the sandbox's workspace directory.
Required when persistent=true. Mutually exclusive with volumeId.
10 <= x <= 50Attach an existing detached volume. Mutually exclusive with persistent / persistentDiskGB.
^[a-f0-9]{24}$Restore from a snapshot you own; replaces the template image.
^[a-f0-9]{24}$manual, automatic 5-field cron expression (e.g. 0 */2 * * *).
Required when snapshotMode=automatic, forbidden otherwise.