Create Environment
POST /v1/environments
Create a new environment with the specified configuration.
Headers
"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 42 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""user-profiles-2026-09-04""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""mid-conversation-output-config-2026-07-01""thinking-binding-controls-2026-08-01""mid-conversation-system-clear-at-2026-08-21"
"anthropic-workspace-id": optional string
Body parameters
name: stringHuman-readable name for the environment
maxLength: 256, minLength: 1
config: optional BetaCloudConfigParams or BetaSelfHostedConfigParams or nullEnvironment configuration
BetaCloudConfigParams objectRequest params for
cloudenvironment configuration.Fields default to null; on update, omitted fields preserve the existing value.
type: "cloud"Environment type
networking: optional BetaUnrestrictedNetwork or BetaLimitedNetworkParams or nullNetwork configuration policy. Omit on update to preserve the existing value.
BetaUnrestrictedNetwork objectUnrestricted network access.
type: "unrestricted"Network policy type
BetaLimitedNetworkParams objectLimited network request params.
Fields default to null; on update, omitted fields preserve the existing value.
type: "limited"Network policy type
allow_mcp_servers: optional boolean or nullPermits outbound access to MCP server endpoints configured on the agent, beyond those listed in the
allowed_hostsarray. Defaults tofalse.allow_package_managers: optional boolean or nullPermits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the
allowed_hostsarray. Defaults tofalseon creation. Must betruewhenpackagesare specified.allowed_hosts: optional array of string or nullSpecifies domains the container can reach.
packages: optional BetaPackagesParams or nullSpecify 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.Under
limitednetworking, requiresnetworking.allow_package_managersto betrue.type: optional "packages"Package configuration type
default: packages
apt: optional array of string or nullUbuntu/Debian packages to install
cargo: optional array of string or nullRust packages to install
gem: optional array of string or nullRuby packages to install
go: optional array of string or nullGo packages to install
npm: optional array of string or nullNode.js packages to install
pip: optional array of string or nullPython packages to install
BetaSelfHostedConfigParams objectRequest params for
self_hostedenvironment configuration.type: "self_hosted"Environment type
description: optional string or nullOptional description of the environment
maxLength: 1024
metadata: optional map[string]User-provided metadata key-value pairs
scope: optional "organization" or "account" or nullThe visibility scope for this environment. 'organization' makes the environment visible to all accounts. 'account' restricts visibility to the owning account only. API organizations support only 'organization'; 'account' is rejected. If not specified, defaults based on organization type.
"organization""account"
Returns
BetaEnvironment objectUnified Environment resource for both cloud and self-hosted environments.
type: "environment"The type of object (always 'environment')
default: environment
id: stringEnvironment identifier (e.g., 'env_...')
archived_at: string or nullRFC 3339 timestamp when environment was archived, or null if not archived
config: BetaCloudConfig or BetaSelfHostedConfigEnvironment configuration (either Anthropic Cloud or self-hosted)
BetaCloudConfig objectcloudenvironment configuration.type: "cloud"Environment type
networking: BetaUnrestrictedNetwork or BetaLimitedNetworkNetwork configuration policy.
BetaUnrestrictedNetwork objectUnrestricted network access.
type: "unrestricted"Network policy type
BetaLimitedNetwork objectLimited network access.
type: "limited"Network policy type
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.
packages: BetaPackagesPackage manager configuration.
type: optional "packages"Package configuration type
default: packages
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
BetaSelfHostedConfig objectConfiguration for self-hosted environments.
type: "self_hosted"Environment type
created_at: stringRFC 3339 timestamp when environment was created
description: string or nullUser-provided description for the environment; null when unset
metadata: map[string]User-provided metadata key-value pairs
name: stringHuman-readable name for the 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 (200)
{
"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"
}