Class Methods
await Sandbox.create(...)
Create a new sandbox. HTTP API →
Template name
Idle timeout in seconds
API key (falls back to
OPENCOMPUTER_API_KEY env var)API URL (falls back to
OPENCOMPUTER_API_URL env var)Environment variables
Arbitrary metadata
Create a Burst Sandbox. Disk is preserved across infrastructure restarts; processes may restart.
Name of a pre-built snapshot
Build log callback (when using
image)Sandbox
Burst Sandboxes are alpha. They preserve filesystem state across
infrastructure restarts, may restart running processes, and are priced roughly
2x cheaper than on-demand sandboxes.
await Sandbox.connect(sandbox_id, ...)
Connect to an existing sandbox. HTTP API →
Sandbox ID
Sandbox
await Sandbox.create_from_checkpoint(checkpoint_id, ...)
Create a new sandbox from a checkpoint. HTTP API →
Checkpoint ID
Idle timeout
Sandbox
await Sandbox.create_checkpoint_patch(checkpoint_id, script, ...)
HTTP API →
Target checkpoint
Bash script
Description
dict
await Sandbox.list_checkpoint_patches(checkpoint_id, ...)
HTTP API → — Returns: list[dict]
await Sandbox.delete_checkpoint_patch(checkpoint_id, patch_id, ...)
HTTP API → — Returns: None
Context Manager
Auto-kills the sandbox on exit:Instance Methods
await sandbox.kill()
Terminate the sandbox. HTTP API →
Returns: None
await sandbox.is_running()
Check if the sandbox is running.
Returns: bool
await sandbox.set_timeout(timeout)
Update idle timeout. HTTP API →
New timeout in seconds
None
await sandbox.create_checkpoint(name)
Create a named checkpoint. HTTP API →
Returns: dict
await sandbox.list_checkpoints()
HTTP API → — Returns: list[dict]
await sandbox.restore_checkpoint(checkpoint_id)
Revert in-place to a checkpoint. HTTP API →
Returns: None
await sandbox.delete_checkpoint(checkpoint_id)
HTTP API → — Returns: None
await sandbox.download_url(path, *, expires_in=3600)
Generate a signed download URL. HTTP API → · Guide →
Absolute path to the file
URL lifetime in seconds (max: 86400)
str
await sandbox.upload_url(path, *, expires_in=3600)
Generate a signed upload URL. HTTP API → · Guide →
Absolute path for the destination file
URL lifetime in seconds (max: 86400)
str
await sandbox.create_preview_url(port, domain?, auth_config?)
HTTP API →
Container port (1–65535)
Custom domain
Auth configuration
dict
await sandbox.list_preview_urls()
HTTP API → — Returns: list[dict]
await sandbox.delete_preview_url(port)
HTTP API → — Returns: None
await sandbox.get_allowed_hosts()
Return the egress allowlist + per-secret allowed hosts the sandbox’s secrets proxy enforces. Useful for debugging “why is my outbound HTTP call being blocked” without having to cross-reference the secret store config separately.
Sandboxes created without a secret_store option return an empty allowlist with secretStore omitted — the sandbox has no per-store egress restriction.
Returns: dict with the shape:
secret_store on top of an inherited one, egressAllowlist is the union of both stores’ allowlists (matches what the runtime proxy enforces) and baseSecretStore is populated with the inherited parent’s name. For sandboxes with a single store (or none), baseSecretStore is omitted.
await sandbox.close()
Close HTTP clients. Called automatically by the context manager.
Not Available in Python
These features are TypeScript-only. Use the HTTP API directly:hibernate()/wake()cpuCount/memoryMBon create
Properties
Sandbox ID
Current status
Deprecated — alias for
exec