POST
POST /v1/deployments?beta=true — Claude API
Beta
Anthropic API key (required); https://api.anthropic.com
Claude APICreate Deployment
- Base URL
- https://api.anthropic.com
- Auth
- x-api-key: <ANTHROPIC_API_KEY>
- Last verified
- 2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 410 tokens · Vary: Accept
→ 410 tokens · Vary: Accept
Critical gotchas
Authentication uses the x-api-key header and requests also require an anthropic-version header.
The official OpenAPI URL is discovered from the SDK repository manifest and must remain under Anthropic's trusted Stainless storage prefix.
cURL
curl -X POST 'https://api.anthropic.com/v1/deployments?beta=true' \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H 'anthropic-version: 2023-06-01' \ -H 'Content-Type: application/json' \ -d '{ "name": "example-name", "agent": "example-agent", "environment_id": "environment-id", "initial_events": [ { "type": "user.message", "content": [ { "type": "text", "text": "Where is my order #1234?" } ] } ]}'
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | body | string | Yes | Human-readable name for the deployment. |
| description | body | string | No | Description of what the deployment does. |
| agent | body | string | Yes | 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 | body | string | Yes | ID of the `environment` defining the container configuration for sessions created from this deployment. |
| vault_ids | body | string[] | No | Vault IDs for stored credentials the agent can use during sessions created from this deployment. Maximum 50. |
| initial_events | body | object[] | Yes | Events to send to each session immediately after creation. At least 1, maximum 50. |
| resources | body | object[] | No | Resources (e.g. repositories, files) to mount into each session's container. Maximum 500. |
| metadata | body | object | No | Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars. |
| schedule | body | object | No | Optional recurring cron schedule. When present, the deployment fires automatically. Both expression and timezone are required when schedule is set. |
| budget | body | object | No | 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 200 OK
{
"type": "deployment",
"id": "depl_011CZkZcDH3vPqd7xnEfwTai",
"name": "Daily order report",
"description": "Compiles yesterday's orders into a report every weekday morning.",
"agent": {
"type": "agent",
"id": "agent_011CZkYpogX7uDKUyvBTophP",
"version": 1
},
"environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"vault_ids": [
"vlt_011CZkZDLs7fYzm1hXNPeRjv"
],
"initial_events": [
{
"type": "user.message",
"content": [
{
"type": "text",
"text": "Compile yesterday's orders into report.md."
}
]
}
],
"resources": [],
"metadata": {},
"schedule": {
"type": "cron",
"expression": "0 9 * * 1-5",
"timezone": "America/Los_Angeles",
"last_run_at": "2026-03-16T16:00:09Z",
"upcoming_runs_at": [
"2026-03-17T16:00:00Z",
"2026-03-18T16:00:00Z"
]
},
"status": "active",
"paused_reason": null,
"created_at": "2026-03-15T10:00:00Z",
"updated_at": "2026-03-15T10:00:00Z",
"archived_at": null
} Get a free Claude API key → sponsored Affiliate link - we may earn a commission, at no extra cost to you.