Overview
One HTTP API for benchmarks, agents, code execution, and long-lived sandboxes (pods and VMs).
Sandbox runs code and AI agents in isolated environments and returns the results. You send a request; the platform provisions a substrate (Kubernetes pod, cloud VM, or external Mac), runs the work, scores it when there is a verifier, and keeps artifacts for you to download.
Everything is one REST API behind a single hostname per environment:
export SANDBOX_GATEWAY_URL="https://sandbox.turing.com" # or your environment's hostWhat you can do
| I want to… | Call | Guide |
|---|---|---|
| Run a benchmark task and score it | POST /sandbox/harbor/v2/jobs/execute-tasks | Run a benchmark |
| Run a coding agent (no verifier) | POST /sandbox/agent/v1/runs | Agent runs |
| See which agents / profiles / languages exist | GET /sandbox/v1/catalog?kind=… | Supported agents |
| Run a snippet of code once | POST /sandbox/codeedit/v1/executions | Code execution |
| Keep a workspace across many commands | POST /sandbox/sandboxes/v1 | Long-lived sandboxes |
| Open a GUI desktop (Linux pod / Windows VM / Mac) | POST /sandbox/sandboxes/v1 + desktop-* profile | Desktop sandboxes |
Where work actually runs
The API is the same; the substrate depends on the profile / driver hint:
| Substrate | Typical use | Examples |
|---|---|---|
| Kubernetes pod | Harbor trials, Agent runs, CodeEdit, Linux desktop, default long-lived | driver_hint: k8s |
| Cloud VM | Windows desktop (RDP via Guacamole) | driver_hint: ec2-vm (also gce-vm / vm) |
| External Mac cloud | macOS desktop stream | driver_hint: external + provider aws-ec2-mac |
| Daytona / docker | Optional Harbor environment override | request field sandbox: daytona |
Details and diagrams: Architecture.
Supported agents (catalog)
Agent runs accept only curated catalog ids. Harbor can also accept Harbor
factory agents when enforcement is warn. Always discover from the live API:
curl -sS -H "X-Api-Key: $SANDBOX_API_KEY" \
"$SANDBOX_GATEWAY_URL/sandbox/v1/catalog?kind=agent"| Catalog id | Display name | Needs model? | Notes |
|---|---|---|---|
opencode | OpenCode | Yes | Recommended default for ad-hoc runs |
claude-code | Claude Code | Yes | CLI pinned in catalog |
codex | OpenAI Codex | Yes | Reasoning models only for default effort |
gemini-cli | Gemini CLI | Yes | |
openhands | OpenHands | Yes | |
cursor-cli | Cursor CLI | Yes | |
aider | Aider | Yes | |
cline-cli | Cline CLI | Yes | Certified with W&B Inference |
terminus-2 | Terminus 2 | Yes | Harbor reference agent (LiteLLM) |
oracle | Oracle | No | Needs task solution/solve.sh — validates tasks, not free-text |
Full table, enforcement rules, and examples: Supported agents.
Start here
- Get started — first request, end to end
- Architecture — components, pods, VMs, flows
- Core concepts — jobs, scoring, tenancy, substrates
- Authentication — credentials
Reference
| Need | Page |
|---|---|
| Every operation | API Reference |
| Python client | SandboxClient |
| Status codes and quotas | Errors and limits |
| Postman | Postman |
Machine-readable contracts
| Artifact | Path |
|---|---|
| OpenAPI | /openapi/sandbox-platform.yaml |
| This documentation | /docs |