Claude Platform Docs

Create Deployment

beta.deployments.create(**kwargs) -> BetaManagedAgentsDeployment
POST/v1/deployments

Create Deployment

Parameters
agent: Agent

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.

One of the following:
str
class BetaManagedAgentsAgentParams: type: "agent"; id; version

Specification for an Agent. Provide a specific version or use the short-form agent="agent_id" for the most recent version

type: Literal["agent"]
id: str

The agent ID.

minLength1
maxLength128
version: Optional[int]

The specific agent version to use. Omit to use the latest version. Must be at least 1 if specified.

formatint32
environment_id: str

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

minLength1
maxLength128

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

One of the following:
class BetaManagedAgentsUserMessageEventParams: type: "user.message"; content

Parameters for sending a user message to the session.

class BetaManagedAgentsUserDefineOutcomeEventParams: type: "user.define_outcome"; description; rubric; max_iterations

Parameters for defining an outcome the agent should work toward. The agent begins work on receipt.

class BetaManagedAgentsSystemMessageEventParams: type: "system.message"; content

Privileged context for the accompanying turn and all subsequent turns, appended to the session's system context as a role: "system" turn rather than replacing the top-level system prompt. At most one per request: it must be the final event and immediately follow the user.message, user.tool_result, or user.custom_tool_result it accompanies. Only supported on models that accept mid-conversation system messages.

type: Literal["system.message"]

System content blocks to append. Text-only.

type: Literal["text"]
text: str

The text content.

minLength1
name: str

Human-readable name for the deployment.

minLength1
maxLength256

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.

type: Literal["limit"]
max_list_cost: BetaMonetaryAmount

Maximum list cost the session may accrue. List price is used regardless of any negotiated discount, so the cap fires at or before the actual charge.

amount: str

Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

currency: BetaCurrency

Uppercase ISO-4217 currency code. USD is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

description: Optional[str]

Description of what the deployment does.

maxLength2048
metadata: Optional[Dict[str, str]]

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

resources: Optional[Iterable[Resource]]

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

One of the following:
class BetaManagedAgentsGitHubRepositoryResourceParams: type: "github_repository"; url; authorization_token; ... # 2 more

Mount a GitHub repository into the session's container.

class BetaManagedAgentsFileResourceParams: type: "file"; file_id; mount_path

Mount a file uploaded via the Files API into the session.

type: Literal["file"]
file_id: str

ID of a previously uploaded file.

minLength1
maxLength128
mount_path: Optional[str]

Mount path in the container. Defaults to /mnt/session/uploads/<file_id>.

minLength1
maxLength4096
class BetaManagedAgentsMemoryStoreResourceParam: type: "memory_store"; memory_store_id; access; instructions

Parameters for attaching a memory store to an agent session.

type: Literal["memory_store"]
memory_store_id: str

The memory store ID (memstore_...). Must belong to the caller's organization and workspace.

access: Optional[Literal["read_write", "read_only"]]

Access mode for the mounted store. Defaults to read_write. read_only mounts the store as a read-only filesystem.

One of the following:
"read_write"
"read_only"
instructions: Optional[str]

Per-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.

maxLength4096
schedule: Optional[BetaManagedAgentsScheduleParams]

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

type: Literal["cron"]
expression: str

5-field POSIX cron expression: minute hour day-of-month month day-of-week (e.g., "0 9 * * 1-5" for weekdays at 9am). Day-of-week is 0-7 where 0 and 7 both mean Sunday. Extended cron syntax - seconds or year fields, and the special characters L, W, #, and ? - is not supported, nor are predefined shortcuts (@daily).

minLength1
maxLength256
timezone: str

Required. IANA timezone identifier (e.g., "America/Los_Angeles", "UTC"). Validated against the IANA timezone database.

minLength1
vault_ids: Optional[Sequence[str]]

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

betas: Optional[List[AnthropicBetaParam]]⁠Header parameter

Optional header to specify the beta version(s) you want to use.

One of the following:
str
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"skills-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"ce-plugins-2026-09-01"
"spend-limit-reads-2026-09-26"
workspace_id: Optional[str]⁠Header parameter

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns
class BetaManagedAgentsDeployment: type: "deployment"; id; agent; ... # 14 more

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.

Create Deployment
import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get(
        "ANTHROPIC_API_KEY"
    ),  # This is the default and can be omitted
)
beta_managed_agents_deployment = client.beta.deployments.create(
    agent="string",
    environment_id="x",
    initial_events=[
        {
            "content": [
                {
                    "text": "Where is my order #1234?",
                    "type": "text",
                }
            ],
            "type": "user.message",
        }
    ],
    name="x",
)
print(beta_managed_agents_deployment.id)
Returns Examples
Response 200
{
  "id": "depl_011CZkZcDH3vPqd7xnEfwTai",
  "agent": {
    "id": "agent_011CZkYpogX7uDKUyvBTophP",
    "type": "agent",
    "version": 1
  },
  "archived_at": null,
  "created_at": "2026-03-15T10:00:00Z",
  "description": "Compiles yesterday's orders into a report every weekday morning.",
  "environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
  "initial_events": [
    {
      "content": [
        {
          "text": "Compile yesterday's orders into report.md.",
          "type": "text"
        }
      ],
      "type": "user.message"
    }
  ],
  "metadata": {},
  "name": "Daily order report",
  "paused_reason": {
    "type": "manual"
  },
  "resources": [
    {
      "type": "github_repository",
      "url": "url",
      "checkout": {
        "name": "main",
        "type": "branch"
      },
      "mount_path": "mount_path"
    }
  ],
  "schedule": {
    "expression": "0 9 * * 1-5",
    "timezone": "America/Los_Angeles",
    "type": "cron",
    "last_run_at": "2026-03-16T16:00:09Z",
    "upcoming_runs_at": [
      "2026-03-17T16:00:00Z",
      "2026-03-18T16:00:00Z"
    ]
  },
  "status": "active",
  "type": "deployment",
  "updated_at": "2026-03-15T10:00:00Z",
  "vault_ids": [
    "vlt_011CZkZDLs7fYzm1hXNPeRjv"
  ],
  "budget": {
    "max_list_cost": {
      "amount": "2500",
      "currency": "USD"
    },
    "type": "limit"
  }
}