Oz Agent API & SDK
Create and inspect cloud agent runs over HTTP with the Oz Agent API, or use the official Python and TypeScript SDKs for typed requests, retries, and structured error handling.
Oz Agent API
The Oz Agent API lets you create and inspect Cloud Agent runs over HTTP from any system (CI, cron, backend services, internal tools), without requiring the Warp desktop app.
With the API you can:
Run an agent by submitting a prompt plus optional config (model, environment, MCP servers, base prompt, etc.)
Monitor execution by listing runs and tracking state transitions over time (queued → in progress → succeeded/failed)
Inspect results and provenance by fetching a run's full details, including the original prompt, source/creator metadata, session link, and resolved agent configuration
This page is a high-level overview. For full API endpoint details, please refer to the Agents API. For schema definitions, see the SDK repos: Python SDK and TypeScript SDK.
Oz Agent SDK
Oz provides official Python and TypeScript SDKs that wrap the Oz Agent API with:
Typed requests and responses (editor autocomplete, fewer schema mistakes)
Built-in retries and timeouts (with per-request overrides)
Consistent error types that map to API status codes
Helpers for raw responses when you need headers/status or custom parsing
If you’re building an integration (CI, Slack bots, internal tooling, orchestrators), the SDKs are typically the quickest and safest starting point.
SDK vs raw REST
Use the SDK when you want strong typing, standardized error handling, and easy concurrency patterns.
Use raw REST when you want minimal dependencies or full control over your HTTP client (the SDKs also support calling undocumented endpoints when needed).
For the full SDK surface area and latest usage, refer to the GitHub repos: Python SDK and TypeScript SDK.
Oz Agent API
REST API Base URL
All endpoints are served over HTTPS:
Core Concepts
Agent runs
An agent run represents a single execution of a cloud agent, created with a prompt and optional configuration. Each run has:
A unique
run_idA human-readable
titleA
promptthat the agent executesA
state(for exampleQUEUED,INPROGRESS,SUCCEEDED,FAILED)Timestamps (
created_at,updated_at)Optional session information (
session_id,session_link)Optional resolved configuration (
agent_config)
See the Agents API for details on how runs are created and listed.
Agent configuration
You can influence how an agent runs using AmbientAgentConfig, including:
name— a human-readable label for grouping, filtering, and traceability. When you run an agent from a skill,nameis automatically set to the skill name. You can also setnameexplicitly via the API, SDK, or CLI (--name) to categorize runs by intent — for example, grouping all runs of a particular workflow regardless of how they were triggered. Use thenamequery parameter onGET /agent/runsto filter runs by config name.model_idfor LLM selectionbase_promptto shape behaviorenvironment_idto choose aCloudEnvironmentskill_specto use a skill as the base prompt (format:owner/repo:skill-nameorowner/repo:path/to/SKILL.md)mcp_serversto enable specific tools via MCP
See the Python SDK or TypeScript SDK for the full configuration schema.
Key Endpoints
The Agents API exposes three primary endpoints:
POST /agent/runCreate a new agent run with a prompt and optional config and title. Returns run_id and initial state.
GET /agent/runsList runs with pagination and filters for state, config_name, model_id, creator, source, and creation time.
GET /agent/runs/{runId}Fetch full details for a single run, including session link and resolved configuration.
All endpoint semantics, query parameters, and error codes are documented on the Agents API.
Models Reference
The API shares a set of reusable models across endpoints. Detailed JSON schemas, types, and enums are available in the SDK repos (Python, TypeScript). Key models include:
RunAgentRequestRunAgentResponseListRunsResponseRunItemPageInfoRunStatusMessageRunCreatorInfoRunStateRunSourceTypeAmbientAgentConfigMCPServerConfigError
Oz Agent SDKs
Python SDK
The Python SDK is the recommended way to call the Oz Agent API from Python services and scripts. It provides:
Sync + async clients
Typed request/response models
Configurable retries/timeouts and structured errors
See the Python SDK GitHub repo for installation, full API reference (api.md), and up-to-date examples.
TypeScript SDK
The TypeScript SDK is the recommended way to call the Oz Agent API from Node.js services and modern TS/JS runtimes. It provides:
Fully typed params/responses
First-class error handling, retries/timeouts
Support across common runtimes where fetch is available or polyfilled
See the TypeScript SDK GitHub repo for installation, full API reference (api.md), and up-to-date examples.
Last updated
Was this helpful?