Claude Platform Docs

Environments

Create Environment
beta.environments.create(**kwargs) -> BetaEnvironment
POST/v1/environments
List Environments
beta.environments.list(**kwargs) -> PageCursor<BetaEnvironment>
GET/v1/environments
Get Environment
beta.environments.retrieve(environment_id, **kwargs) -> BetaEnvironment
GET/v1/environments/{environment_id}
Update Environment
beta.environments.update(environment_id, **kwargs) -> BetaEnvironment
POST/v1/environments/{environment_id}
Delete Environment
beta.environments.delete(environment_id, **kwargs) -> BetaEnvironmentDeleteResponse
DELETE/v1/environments/{environment_id}
Archive Environment
beta.environments.archive(environment_id, **kwargs) -> BetaEnvironment
POST/v1/environments/{environment_id}/archive
Models
class BetaCloudConfig { networking, packages, type }

cloud environment configuration.

class BetaCloudConfigParams { type, networking, packages }

Request params for cloud environment configuration.

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

class BetaEnvironment { id, archived_at, config, 7 more }

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

class BetaEnvironmentDeleteResponse { id, type }

Response after deleting an environment.

id: String

Environment identifier

type: :environment_deleted

The type of response

class BetaLimitedNetwork { allow_mcp_servers, allow_package_managers, allowed_hosts, type }

Limited network access.

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.

type: :limited

Network policy type

class BetaLimitedNetworkParams { type, 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 { apt, cargo, gem_, 4 more }

Packages (and their versions) available in this environment.

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

type: :packages

Package configuration type

class BetaPackagesParams { apt, cargo, gem_, 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.

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

type: :packages

Package configuration type

class BetaSelfHostedConfig { type }

Configuration for self-hosted environments.

type: :self_hosted

Environment type

class BetaSelfHostedConfigParams { type }

Request params for self_hosted environment configuration.

type: :self_hosted

Environment type

class BetaUnrestrictedNetwork { type }

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}
Poll for Work
beta.environments.work.poll(environment_id, **kwargs) -> BetaSelfHostedWork
GET/v1/environments/{environment_id}/work/poll
Acknowledge Work
beta.environments.work.ack(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}/ack
Record Heartbeat
beta.environments.work.heartbeat(work_id, **kwargs) -> BetaSelfHostedWorkHeartbeatResponse
POST/v1/environments/{environment_id}/work/{work_id}/heartbeat
Stop Work
beta.environments.work.stop(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}/stop
List Work Items
beta.environments.work.list(environment_id, **kwargs) -> PageCursor<BetaSelfHostedWork>
GET/v1/environments/{environment_id}/work
Update Work Item
beta.environments.work.update(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}
Get Queue Statistics
beta.environments.work.stats(environment_id, **kwargs) -> BetaSelfHostedWorkQueueStats
GET/v1/environments/{environment_id}/work/stats