Skip to main content
POST
Create Deployment
Every request requires ?beta=true, anthropic-version: 2023-06-01, and anthropic-beta: managed-agents-2026-04-01.

Authorizations

X-Api-Key
string
header
default:sk-ant-local-default
required

OMA workspace API key.

Headers

anthropic-version
string
required
anthropic-beta
string
required

Query Parameters

beta
enum<boolean>
required

Selects the beta API contract for this endpoint. Must be true.

Available options:
true

Body

application/json

Request parameters for creating a deployment.

name
string
required

Human-readable name for the deployment.

Required string length: 1 - 256
agent
required

Agent to deploy. Accepts the agent ID string, which pins the latest version, or an agent object with both id and version specified. The agent must exist and not be archived.

environment_id
string
required

ID of the environment defining the container configuration for sessions created from this deployment.

Required string length: 1 - 128
initial_events
object[]
required

Events to send to each session immediately after creation. At least 1, maximum 50.

Parameters for sending a user message to the session.

Example:
description
string | null

Description of what the deployment does.

Maximum string length: 2048
vault_ids
string[]

Vault IDs for stored credentials the agent can use during sessions created from this deployment. Maximum 50.

resources
object[]

Resources (e.g. repositories, files) to mount into each session's container. Maximum 500.

Mount a GitHub repository into the session's container.

Example:
metadata
object

Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.

schedule
object | null

Optional recurring cron schedule. When present, the deployment fires automatically. Both expression and timezone are required when schedule is set.

Example:
budget
object | null

Enforced spend ceiling stamped onto each session created from this deployment, copied at session-creation time. Omit to leave sessions uncapped. The deployment agent's model must have a public list price, or the request is rejected; a multiagent roster is re-validated in full when each fire copies the cap, which fails closed the same way.

Response

Successful response (OK)

A deployment is a configured instance of an agent — it binds the agent to everything needed to run it autonomously: an environment, credentials, initial events, and an optional schedule.

type
enum<string>
required
Available options:
deployment
Example:

"deployment"

id
string
required

Unique identifier for this deployment.

Example:

"depl_011CZkZcDH3vPqd7xnEfwTai"

name
string
required

Human-readable name.

Example:

"Daily order report"

description
string | null
required

Description of what the deployment does.

Example:

"Compiles yesterday's orders into a report every weekday morning."

agent
object
required

Reference to the agent this deployment runs, resolved to a concrete version.

Example:
environment_id
string
required

ID of the environment where sessions run.

Example:

"env_011CZkZ9X2dpNyB7HsEFoRfW"

vault_ids
string[]
required

Vault IDs supplying stored credentials for sessions created from this deployment.

Example:
initial_events
object[]
required

Events sent to each session immediately after creation.

A user message sent to the session.

Example:
resources
object[]
required

Resources attached to sessions created from this deployment. Echoes the input minus write-only credentials.

A GitHub repository mounted into each session's container. The authorization token is write-only and never returned.

Example:
metadata
object
required

Arbitrary key-value metadata. Maximum 16 pairs.

Example:
schedule
object | null
required

Recurring cron schedule. Presence enables scheduled execution; null means manual-only. Includes computed timestamps (next fire times, last run) on the cron variant.

Example:
status
enum<string>
required

Computed status of the deployment: active or paused. Archived deployments report active with archived_at set.

Available options:
active,
paused
Example:

"active"

paused_reason
object
required

Why the deployment is paused. Non-null exactly when status is paused; null otherwise.

Example:

null

created_at
string<date-time>
required

Time the deployment was created.

Example:

"2026-03-15T10:00:00Z"

updated_at
string<date-time>
required

Time the deployment was last updated.

Example:

"2026-03-15T10:00:00Z"

archived_at
string<date-time> | null
required

Time the deployment was archived. Null if not archived.

Example:

null

budget
object | null

Spend ceiling stamped onto each session created from this deployment. Absent when no budget is set.