Create Environment
post /v1/environments
Create a new environment with the specified configuration.
Header Parameters
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 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" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07"
-
-
Body Parameters
-
name: stringHuman-readable name for the environment
-
config: optional BetaCloudConfigParams or BetaSelfHostedConfigParamsEnvironment configuration
-
BetaCloudConfigParams object { type, networking, packages }Request params for
cloudenvironment configuration.Fields default to null; on update, omitted fields preserve the existing value.
-
type: "cloud"Environment type
"cloud"
-
networking: optional BetaUnrestrictedNetwork or BetaLimitedNetworkParamsNetwork configuration policy. Omit on update to preserve the existing value.
-
BetaUnrestrictedNetwork object { type }Unrestricted network access.
-
type: "unrestricted"Network policy type
"unrestricted"
-
-
BetaLimitedNetworkParams object { 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
"limited"
-
allow_mcp_servers: optional booleanPermits outbound access to MCP server endpoints configured on the agent, beyond those listed in the
allowed_hostsarray. Defaults tofalse. -
allow_package_managers: optional booleanPermits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the
allowed_hostsarray. Defaults tofalse. -
allowed_hosts: optional array of stringSpecifies domains the container can reach.
-
-
-
packages: optional BetaPackagesParamsSpecify packages (and optionally their versions) available in this environment.
When versioning, use the version semantics relevant for the package manager, e.g. for
pipusepackage==1.0.0. You are responsible for validating the package and version exist. Unversioned installs the latest.-
apt: optional array of stringUbuntu/Debian packages to install
-
cargo: optional array of stringRust packages to install
-
gem: optional array of stringRuby packages to install
-
go: optional array of stringGo packages to install
-
npm: optional array of stringNode.js packages to install
-
pip: optional array of stringPython packages to install
-
type: optional "packages"Package configuration type
"packages"
-
-
-
BetaSelfHostedConfigParams object { type }Request params for
self_hostedenvironment configuration.-
type: "self_hosted"Environment type
"self_hosted"
-
-
-
description: optional stringOptional description of the environment
-
metadata: optional map[string]User-provided metadata key-value pairs
-
scope: optional "organization" or "account"The visibility scope for this environment. 'organization' makes the environment visible to all accounts. 'account' restricts visibility to the owning account only. Only applicable for self-hosted environments. If not specified, defaults based on organization type.
-
"organization" -
"account"
-
Returns
-
BetaEnvironment object { id, archived_at, config, 7 more }Unified Environment resource for both cloud and self-hosted environments.
-
id: stringEnvironment identifier (e.g., 'env_...')
-
archived_at: stringRFC 3339 timestamp when environment was archived, or null if not archived
-
config: BetaCloudConfig or BetaSelfHostedConfigEnvironment configuration (either Anthropic Cloud or self-hosted)
-
BetaCloudConfig object { networking, packages, type }cloudenvironment configuration.-
networking: BetaUnrestrictedNetwork or BetaLimitedNetworkNetwork configuration policy.
-
BetaUnrestrictedNetwork object { type }Unrestricted network access.
-
type: "unrestricted"Network policy type
"unrestricted"
-
-
BetaLimitedNetwork object { allow_mcp_servers, allow_package_managers, allowed_hosts, type }Limited network access.
-
allow_mcp_servers: booleanPermits outbound access to MCP server endpoints configured on the agent, beyond those listed in the
allowed_hostsarray. -
allow_package_managers: booleanPermits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the
allowed_hostsarray. -
allowed_hosts: array of stringSpecifies domains the container can reach.
-
type: "limited"Network policy type
"limited"
-
-
-
packages: BetaPackagesPackage manager configuration.
-
apt: array of stringUbuntu/Debian packages to install
-
cargo: array of stringRust packages to install
-
gem: array of stringRuby packages to install
-
go: array of stringGo packages to install
-
npm: array of stringNode.js packages to install
-
pip: array of stringPython packages to install
-
type: optional "packages"Package configuration type
"packages"
-
-
type: "cloud"Environment type
"cloud"
-
-
BetaSelfHostedConfig object { type }Configuration for self-hosted environments.
-
type: "self_hosted"Environment type
"self_hosted"
-
-
-
created_at: stringRFC 3339 timestamp when environment was created
-
description: stringUser-provided description for the environment
-
metadata: map[string]User-provided metadata key-value pairs
-
name: stringHuman-readable name for the environment
-
type: "environment"The type of object (always 'environment')
"environment"
-
updated_at: stringRFC 3339 timestamp when environment was last updated
-
scope: optional "organization" or "account"The visibility scope for this environment. 'organization' means visible to all accounts. 'account' means visible only to the owning account.
-
"organization" -
"account"
-
-
Example
curl https://api.anthropic.com/v1/environments \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"name": "python-data-analysis",
"config": {
"type": "cloud",
"networking": {
"type": "limited",
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
]
},
"packages": {
"pip": [
"pandas",
"numpy"
]
}
},
"description": "Python environment with data-analysis packages."
}'
Response
{
"id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"archived_at": null,
"config": {
"networking": {
"allow_mcp_servers": false,
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
],
"type": "limited"
},
"packages": {
"apt": [
"string"
],
"cargo": [
"string"
],
"gem": [
"string"
],
"go": [
"string"
],
"npm": [
"string"
],
"pip": [
"pandas",
"numpy"
],
"type": "packages"
},
"type": "cloud"
},
"created_at": "2026-03-15T10:00:00Z",
"description": "Python environment with data-analysis packages.",
"metadata": {},
"name": "python-data-analysis",
"type": "environment",
"updated_at": "2026-03-15T10:00:00Z",
"scope": "organization"
}