Claude Platform Docs

Environments

Create Environment
beta.environments.create(**kwargs) -> BetaEnvironment
POST/v1/environments

Create a new environment with the specified configuration.

List Environments
beta.environments.list(**kwargs) -> PageCursor<BetaEnvironment>
GET/v1/environments

List environments with pagination support.

Get Environment
beta.environments.retrieve(environment_id, **kwargs) -> BetaEnvironment
GET/v1/environments/{environment_id}

Retrieve a specific environment by ID.

Update Environment
beta.environments.update(environment_id, **kwargs) -> BetaEnvironment
POST/v1/environments/{environment_id}

Update an existing environment's configuration.

Delete Environment
beta.environments.delete(environment_id, **kwargs) -> BetaEnvironmentDeleteResponse
DELETE/v1/environments/{environment_id}

Delete an environment by ID. Returns a confirmation of the deletion.

Archive Environment
beta.environments.archive(environment_id, **kwargs) -> BetaEnvironment
POST/v1/environments/{environment_id}/archive

Archive an environment by ID. Archived environments cannot be used to create new sessions.

Models
class BetaCloudConfig { type: :cloud, networking, packages }

cloud environment configuration.

class BetaCloudConfigParams { type: :cloud, networking, packages }

Request params for cloud environment configuration.

Fields default to null; on update, omitted fields preserve the existing value.

class BetaEnvironment { type: :environment, id, archived_at, 7 more }

Unified Environment resource for both cloud and self-hosted environments.

class BetaEnvironmentDeleteResponse { type: :environment_deleted, id }

Response after deleting an environment.

type: :environment_deleted

The type of response

id: String

Environment identifier

class BetaLimitedNetwork { type: :limited, allow_mcp_servers, allow_package_managers, allowed_hosts }

Limited network access.

type: :limited

Network policy type

allow_mcp_servers: bool

Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.

allow_package_managers: bool

Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.

allowed_hosts: Array[String]

Specifies domains the container can reach.

class BetaLimitedNetworkParams { type: :limited, allow_mcp_servers, allow_package_managers, allowed_hosts }

Limited network request params.

Fields default to null; on update, omitted fields preserve the existing value.

type: :limited

Network policy type

allow_mcp_servers: bool

Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array. Defaults to false.

allow_package_managers: bool

Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array. Defaults to false on creation. Must be true when packages are specified.

allowed_hosts: Array[String]

Specifies domains the container can reach.

class BetaPackages { type: :packages, apt, cargo, 4 more }

Packages (and their versions) available in this environment.

type: :packages

Package configuration type

apt: Array[String]

Ubuntu/Debian packages to install

cargo: Array[String]

Rust packages to install

gem_: Array[String]

Ruby packages to install

go: Array[String]

Go packages to install

npm: Array[String]

Node.js packages to install

pip: Array[String]

Python packages to install

class BetaPackagesParams { type: :packages, apt, cargo, 4 more }

Specify packages (and optionally their versions) available in this environment.

When versioning, use the version semantics relevant for the package manager, e.g. for pip use package==1.0.0. You are responsible for validating the package and version exist. Unversioned installs the latest.

Under limited networking, requires networking.allow_package_managers to be true.

type: :packages

Package configuration type

apt: Array[String]

Ubuntu/Debian packages to install

cargo: Array[String]

Rust packages to install

gem_: Array[String]

Ruby packages to install

go: Array[String]

Go packages to install

npm: Array[String]

Node.js packages to install

pip: Array[String]

Python packages to install

class BetaSelfHostedConfig { type: :self_hosted }

Configuration for self-hosted environments.

type: :self_hosted

Environment type

class BetaSelfHostedConfigParams { type: :self_hosted }

Request params for self_hosted environment configuration.

type: :self_hosted

Environment type

class BetaUnrestrictedNetwork { type: :unrestricted }

Unrestricted network access.

type: :unrestricted

Network policy type

EnvironmentsWork

Get Work Item
beta.environments.work.retrieve(work_id, **kwargs) -> BetaSelfHostedWork
GET/v1/environments/{environment_id}/work/{work_id}

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Poll for Work
beta.environments.work.poll(environment_id, **kwargs) -> BetaSelfHostedWork
GET/v1/environments/{environment_id}/work/poll

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Acknowledge Work
beta.environments.work.ack(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}/ack

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Record Heartbeat
beta.environments.work.heartbeat(work_id, **kwargs) -> BetaSelfHostedWorkHeartbeatResponse
POST/v1/environments/{environment_id}/work/{work_id}/heartbeat

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Stop Work
beta.environments.work.stop(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}/stop

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

List Work Items
beta.environments.work.list(environment_id, **kwargs) -> PageCursor<BetaSelfHostedWork>
GET/v1/environments/{environment_id}/work

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Update Work Item
beta.environments.work.update(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Get Queue Statistics
beta.environments.work.stats(environment_id, **kwargs) -> BetaSelfHostedWorkQueueStats
GET/v1/environments/{environment_id}/work/stats

Get statistics about the work queue for an environment.