sandbox.id somewhere durable (a database, a queue message), and reconnect later with Sandbox.connect().
Sandbox.connect(id)- returns a livesandboxwithcommandsandfilesready to use. If the sandbox ispaused, or still pausing, it’s resumed before returning.sandbox.getInfo()- fetch the current status and metadata for a sandbox you already have (read-only, no state change)
Find sandboxes with list
List all sandboxes on the team, or narrow the result with filters. metadata
returns only sandboxes matching every key-value pair you pass; status
selects one lifecycle state; limit and offset page through large lists.
list() returns an array of SandboxInfo - no live sandbox is constructed. Call Sandbox.connect(id) when you need one.
Automatic routing hints
Current TypeScript and Python SDKs carry the optionalrouting_hint returned by
create, connect/activate, and resume on command, file, and session requests.
The proxy uses this signed hint to select the sandbox’s logical host without
looking up ownership on every new sandbox request. Authorization is unchanged.
Raw HTTP callers can opt in by passing the response’s routing_hint as
X-Superserve-Routing-Hint alongside X-Access-Token. Replace both values after
resume or activate. For a WebSocket session, add route.<routing_hint> to the
subprotocol list alongside superserve.exec.v1 and token.<access_token>.
Callers that omit the hint keep working through ownership lookup, including its
existing latency and capacity limits.
Hints expire after one hour. SDKs refresh expired hints before their next
operation and refresh a rejected stale route once through activate. A routing
hint grants no access by itself. Never replay a command after an ambiguous
connection loss or timeout: it may already have executed.