Claude Platform Docs

Environments

Create Environment
BetaEnvironment beta().environments().create(params, requestOptions = RequestOptions.none())
POST/v1/environments

Create a new environment with the specified configuration.

List Environments
EnvironmentListPage beta().environments().list(params = EnvironmentListParams.none(), requestOptions = RequestOptions.none())
GET/v1/environments

List environments with pagination support.

Get Environment
BetaEnvironment beta().environments().retrieve(params = EnvironmentRetrieveParams.none(), requestOptions = RequestOptions.none())
GET/v1/environments/{environment_id}

Retrieve a specific environment by ID.

Update Environment
BetaEnvironment beta().environments().update(params = EnvironmentUpdateParams.none(), requestOptions = RequestOptions.none())
POST/v1/environments/{environment_id}

Update an existing environment's configuration.

Delete Environment
BetaEnvironmentDeleteResponse beta().environments().delete(params = EnvironmentDeleteParams.none(), requestOptions = RequestOptions.none())
DELETE/v1/environments/{environment_id}

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

Archive Environment
BetaEnvironment beta().environments().archive(params = EnvironmentArchiveParams.none(), requestOptions = RequestOptions.none())
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; archivedAt; /* 7 more */ }

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

class BetaEnvironmentDeleteResponse { type; id; }

Response after deleting an environment.

Type type

The type of response

String id

Environment identifier

class BetaLimitedNetwork { type = "limited"; allowMcpServers; allowPackageManagers; allowedHosts; }

Limited network access.

JsonValue type = "limited"

Network policy type

boolean allowMcpServers

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

boolean allowPackageManagers

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

List<String> allowedHosts

Specifies domains the container can reach.

class BetaLimitedNetworkParams { type = "limited"; allowMcpServers; allowPackageManagers; allowedHosts; }

Limited network request params.

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

JsonValue type = "limited"

Network policy type

Optional<Boolean> allowMcpServers

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

Optional<Boolean> allowPackageManagers

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.

Optional<List<String>> allowedHosts

Specifies domains the container can reach.

class BetaPackages { type; apt; cargo; /* 4 more */ }

Packages (and their versions) available in this environment.

Optional<Type> type

Package configuration type

List<String> apt

Ubuntu/Debian packages to install

List<String> cargo

Rust packages to install

List<String> gem

Ruby packages to install

List<String> go

Go packages to install

List<String> npm

Node.js packages to install

List<String> pip

Python packages to install

class BetaPackagesParams { type; 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.

Optional<Type> type

Package configuration type

Optional<List<String>> apt

Ubuntu/Debian packages to install

Optional<List<String>> cargo

Rust packages to install

Optional<List<String>> gem

Ruby packages to install

Optional<List<String>> go

Go packages to install

Optional<List<String>> npm

Node.js packages to install

Optional<List<String>> pip

Python packages to install

class BetaSelfHostedConfig { type = "self_hosted"; }

Configuration for self-hosted environments.

JsonValue type = "self_hosted"

Environment type

class BetaSelfHostedConfigParams { type = "self_hosted"; }

Request params for self_hosted environment configuration.

JsonValue type = "self_hosted"

Environment type

class BetaUnrestrictedNetwork { type = "unrestricted"; }

Unrestricted network access.

JsonValue type = "unrestricted"

Network policy type

EnvironmentsWork

Get Work Item
BetaSelfHostedWork beta().environments().work().retrieve(params, requestOptions = RequestOptions.none())
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
BetaSelfHostedWork beta().environments().work().poll(params = WorkPollParams.none(), requestOptions = RequestOptions.none())
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
BetaSelfHostedWork beta().environments().work().ack(params, requestOptions = RequestOptions.none())
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
BetaSelfHostedWorkHeartbeatResponse beta().environments().work().heartbeat(params, requestOptions = RequestOptions.none())
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
BetaSelfHostedWork beta().environments().work().stop(params, requestOptions = RequestOptions.none())
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
WorkListPage beta().environments().work().list(params = WorkListParams.none(), requestOptions = RequestOptions.none())
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
BetaSelfHostedWork beta().environments().work().update(params, requestOptions = RequestOptions.none())
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
BetaSelfHostedWorkQueueStats beta().environments().work().stats(params = WorkStatsParams.none(), requestOptions = RequestOptions.none())
GET/v1/environments/{environment_id}/work/stats

Get statistics about the work queue for an environment.