Claude Platform Docs

Create Deployment

client.beta.deployments.create(DeploymentCreateParamsparams, RequestOptionsoptions?): BetaManagedAgentsDeployment
POST/v1/deployments

Create Deployment

Parameters
params: DeploymentCreateParams { agent, environment_id, initial_events, 8 more }
agent: string | BetaManagedAgentsAgentParams { id, type, version }

Body param: 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:
string
BetaManagedAgentsAgentParams { id, type, version }

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

id: string

The agent ID.

minLength1
maxLength128
type: "agent"
version?: number

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

formatint32
environment_id: string

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

minLength1
maxLength128

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

One of the following:
BetaManagedAgentsUserMessageEventParams { content, type }

Parameters for sending a user message to the session.

BetaManagedAgentsUserDefineOutcomeEventParams { description, rubric, type, max_iterations }

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

BetaManagedAgentsSystemMessageEventParams { content, type }

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.

content: Array<BetaManagedAgentsSystemContentBlock { text, type }>

System content blocks to append. Text-only.

text: string

The text content.

minLength1
type: "text"
type: "system.message"
name: string

Body param: Human-readable name for the deployment.

minLength1
maxLength256
budget?: BetaManagedAgentsBudgetLimit { max_list_cost, type } | null

Body param: A hard spend ceiling. The session stops issuing new model requests once the tracked list cost reaches max_list_cost.

max_list_cost: BetaMonetaryAmount { amount, currency }

A monetary amount in a specific currency.

amount: string

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.

type: "limit"
description?: string | null

Body param: Description of what the deployment does.

maxLength2048
metadata?: Record<string, string>

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

resources?: Array<BetaManagedAgentsGitHubRepositoryResourceParams { authorization_token, type, url, 2 more } | BetaManagedAgentsFileResourceParams { file_id, type, mount_path } | BetaManagedAgentsMemoryStoreResourceParam { memory_store_id, type, access, instructions }>

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

One of the following:
BetaManagedAgentsGitHubRepositoryResourceParams { authorization_token, type, url, 2 more }

Mount a GitHub repository into the session's container.

BetaManagedAgentsFileResourceParams { file_id, type, mount_path }

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

file_id: string

ID of a previously uploaded file.

minLength1
maxLength128
type: "file"
mount_path?: string | null

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

minLength1
maxLength4096
BetaManagedAgentsMemoryStoreResourceParam { memory_store_id, type, access, instructions }

Parameters for attaching a memory store to an agent session.

memory_store_id: string

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

type: "memory_store"
access?: "read_write" | "read_only" | null

Access mode for an attached memory store.

One of the following:
"read_write"
"read_only"
instructions?: string | null

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?: BetaManagedAgentsScheduleParams { expression, timezone, type } | null

Body param: 5-field POSIX cron schedule. Literal wall-clock matching in the configured timezone.

expression: string

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: string

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

minLength1
type: "cron"
vault_ids?: Array<string>

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

betas?: Array<AnthropicBeta>

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

One of the following:
(string & {})
"message-batches-2024-09-24" | "prompt-caching-2024-07-31" | "computer-use-2024-10-22" | 38 more
"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"
"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"
Returns
BetaManagedAgentsDeployment { id, agent, archived_at, 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 Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env["ANTHROPIC_API_KEY"] // This is the default and can be omitted
});

const betaManagedAgentsDeployment = await 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"
});

console.log(betaManagedAgentsDeployment.id);
{
  "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"
  }
}
Returns Examples
{
  "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"
  }
}