Platform Agents Docs Pricing Security Start building →
ovrin/docs/quickstart
Docs / Quickstart

From zero to a running agent in five steps.

This walks through creating a sandbox, running an agent inside it, and tearing it down — the same loop every Ovrin integration is built on.

01 Create an API keySign up at /auth and generate a key from the dashboard. Keys are scoped per project and can be rotated at any time.
02 Install the SDKPython: pip install ovrin. TypeScript: npm install ovrin. Or skip the SDK entirely and call the REST API directly.
03 Create a sandboxPick a template — claude-code, codex, gemini-cli, deepseek-harness, or a bare python/node/ubuntu image — and pass the agent's own API key as an env var.
04 Run a commandCall sandbox.run() with a shell command. Output streams back as it's produced; the full stdout/stderr/exit code are available on the result.
05 Collect and clean upRead files or a git diff off /workspace over the API, optionally write anything worth keeping to client.memory, then call sandbox.kill(). The filesystem is gone the instant the sandbox dies.
Full example

All five steps, one snippet.

import ovrin client = ovrin.Client(api_key="sk_live_...") sandbox = client.sandboxes.create( template="claude-code", env={"ANTHROPIC_API_KEY": anthropic_key}, ) result = sandbox.run('claude "write a hello world in rust"') print(result.stdout) sandbox.kill()
import { Ovrin } from "ovrin" const client = new Ovrin({ apiKey: "sk_live_..." }) const sandbox = await client.sandboxes.create({ template: "claude-code", env: { ANTHROPIC_API_KEY: anthropicKey }, }) const result = await sandbox.run(`claude "write a hello world in rust"`) console.log(result.stdout) await sandbox.kill()
curl -X POST https://api.ovrin.dev/v1/sandboxes \\ -H "Authorization: Bearer $OVRIN_API_KEY" \\ -d '{"template":"claude-code","env":{"ANTHROPIC_API_KEY":"..."}}' # => { "id": "sbx_7f2a", "state": "running" } curl -X POST https://api.ovrin.dev/v1/sandboxes/sbx_7f2a/run \\ -H "Authorization: Bearer $OVRIN_API_KEY" \\ -d '{"command":"claude \\"write a hello world in rust\\""}'
Next

Where to go from here.