Skip to content

Factories > API & SDKs

Agent & run endpoints

Open in ChatGPT ↗
Ask ChatGPT about this page
Open in Claude ↗
Ask Claude about this page
Copied!

Start, manage, and inspect cloud agent runs with the Agent and run endpoints in the Warp Platform API.

Agent & run endpoints are part of the Warp Platform API. Use them to start standalone cloud agent runs and to monitor, continue, or cancel any run after it starts. To find a factory and send it new work, use factory endpoints.

Agent & run endpoints let you create and inspect cloud agent runs over HTTP from CI, cron, backend services, and 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

For endpoint details, use the Warp Platform API reference. For SDK schemas, use the Python SDK and TypeScript SDK repositories.

To send work to a Warp factory, use factory endpoints to discover it and dispatch by UID instead of calling POST /agent/runs with a foreman’s agent_identity_uid. The follow-up, cancellation, and status endpoints still apply after a factory run is dispatched.

Warp provides official Python and TypeScript SDKs that wrap the Warp Platform 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).

All endpoints are served over HTTPS:

https://app.warp.dev/api/v1

An agent run represents a single execution of a cloud agent, created with a prompt and optional configuration. Each run has:

  • A unique run_id
  • A human-readable title
  • A prompt that the agent executes
  • A state (for example QUEUED, INPROGRESS, SUCCEEDED, FAILED)
  • Timestamps (created_at, updated_at)
  • Optional session information (session_id, session_link)
  • Optional resolved configuration (agent_config)

See the Warp Platform API reference for details on how runs are created and listed.

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, name is automatically set to the skill name. You can also set name explicitly 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 the name query parameter on GET /agent/runs to filter runs by config name.
  • model_id for LLM selection
  • base_prompt to shape behavior
  • environment_id to choose a CloudEnvironment
  • worker_host to run a standalone cloud agent on a self-hosted worker
  • skill_spec to use a skill as the base prompt (format: owner/repo:skill-name or owner/repo:path/to/SKILL.md)
  • mcp_servers to enable specific tools via MCP

See the Python SDK or TypeScript SDK for the full configuration schema.

The Conversation API returns skill loads as read_skill actions. When input.bundled_skill_id is present, it identifies a Warp-provided bundled reference. input.skill_path is the path used to resolve a skill, but doesn’t prove ownership: file-based skills and path-referenced bundled skills, including skills from a remote host, can both use this field.

The following stable, user-facing IDs are bundled directly with Warp:

Bundled skill IDPurpose
add-mcp-serverAdd an MCP server to Warp configuration.
change-keybindingChange or remove Warp keyboard shortcuts.
claude-apiBuild and maintain applications that use the Anthropic SDK.
create-skillCreate, improve, and evaluate skills.
create-tab-configCreate a Warp tab configuration.
factory-filesCreate and validate file-based Warp factory definitions.
factory-mcpSend work to a factory and collaborate through Factory MCP.
modify-settingsView or change Warp settings using the bundled settings schema.
oz-platformRun, configure, and inspect cloud agents through the API and CLI.
pr-commentsFetch GitHub pull request review comments for the current branch.
tab-configsLook up the tab configuration schema and validation rules.
tui-migrate-setupMigrate supported settings into the Warp Agent CLI.
update-tab-configUpdate an existing Warp tab configuration.
warpctrlControl and inspect a running Warp app with Warp Control.

The catalog helps group usage across conversations; it isn’t an availability manifest. Use each run’s advertised skills for availability and its conversation’s read_skill actions for invocation. The bundled set can vary by Warp release, release channel, enabled features, required files, and connected integrations.

For example, oz-platform, factory-files, and factory-mcp are Warp-provided. factory-mcp appears only where Factory MCP is available, tui-migrate-setup is specific to the Warp Agent CLI, and connected integrations can add bundled IDs that aren’t listed here.


Set worker_host in the request configuration to select a connected self-hosted worker. Omit it, or set it to warp, to use Warp-hosted workers.

{
"prompt": "Run the dependency audit",
"config": {
"worker_host": "WORKER_HOST"
}
}

Replace WORKER_HOST with the ID of a connected worker. For factory work, set workerHost in the factory definition instead.

Agent & run endpoints include:

  • POST /agent/runs

    Create a new agent run with a prompt and optional config and title. Returns run_id and initial state.

  • GET /agent/runs

    List 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.

  • POST /agent/runs/{runId}/followups

    Send a follow-up message to an existing run to steer or continue it, the same capability the Slack and Linear integrations use.

  • POST /agent/runs/{runId}/cancel

    Cancel a run that is currently queued or in progress. Returns the ID of the cancelled run.

All endpoint semantics, query parameters, and error codes are documented in the Warp Platform API 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:

  • RunAgentRequest
  • RunAgentResponse
  • ListRunsResponse
  • RunItem
  • PageInfo
  • RunStatusMessage
  • RunCreatorInfo
  • RunState
  • RunSourceType
  • RunFollowupRequest
  • AmbientAgentConfig
  • MCPServerConfig
  • Error

The Python SDK is the recommended way to call the 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.

The TypeScript SDK is the recommended way to call the 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.