Skip to main content
POST
Create sandbox

Authorizations

Authorization
string
header
required

Use a JWT bearer token or a Veryfront API key in the Authorization header.

Body

application/json
access_scope
enum<string>
required

Private sandboxes require creator credentials or a creator-owned MCP OAuth grant.

Available options:
project,
private
project_reference
string

Project UUID or slug to bill. When set, the project owner is billed.

environment_id
string<uuid>

Environment whose variables are copied once into the sandbox; it also identifies the billing project.

ttl_mode
enum<string>

Sandbox lifetime policy. default uses the platform’s idle and maximum lifetime limits.

Available options:
default,
duration,
always_on
ttl_hours
integer

Required when ttl_mode is duration. Number of hours before cleanup, up to 24.

Required range: x <= 24

Response

Sandbox created and billed to the project identified by project_reference or environment_id.

id
string<uuid>
required
short_id
string
required
endpoint
string
required

Sandbox endpoint URL.

status
enum<string>
required

Sandbox lifecycle status.

Available options:
pending,
provisioning,
running,
error,
deleting
project_id
string<uuid> | null
required
access_scope
enum<string>
required
Available options:
project,
private
workspace_storage
enum<string>
required

Persistent workspaces survive runtime pod replacement. Deleting the sandbox also deletes its workspace.

Available options:
ephemeral,
persistent
ttl_mode
enum<string>
required
Available options:
default,
duration,
always_on
ttl_hours
integer | null
required
expires_at
string | null
required
created_at
string
required
last_activity_at
string | null
required
run_id
string<uuid> | null

Agent run that created this sandbox.

stopped_at
string | null

Compute cleanup completed; only session history remains.

variable_snapshot
object

Snapshot provenance on sandbox details. Variables are copied once, without live synchronization. No variable keys or values are included.