title: Work url: https://platform.claude.com/docs/en/api/beta/environments/work
Work
Get Work Item
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.
Retrieve detailed information about a specific work item.
Path parameters
-
environment_id: string -
work_id: string
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 43 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" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Returns
-
BetaSelfHostedWork objectWork resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
-
type: "work"The type of object (always 'work')
default: work
-
id: stringWork identifier (e.g., 'work_...')
-
acknowledged_at: string or nullRFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
-
created_at: stringRFC 3339 timestamp when work was created
-
data: BetaSessionWorkDataThe actual work to be performed
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-
-
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...) -
latest_heartbeat_at: string or nullRFC 3339 timestamp of the most recent heartbeat
-
metadata: map[string]User-provided metadata key-value pairs associated with this work item
-
secret: string or nullCredential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
-
started_at: string or nullRFC 3339 timestamp when work execution started
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
stop_requested_at: string or nullRFC 3339 timestamp when stop was requested
-
stopped_at: string or nullRFC 3339 timestamp when work execution stopped
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}Poll for Work
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.
Long poll for work items in the queue.
Path parameters
environment_id: string
Query parameters
-
block_ms: optional numberHow long to wait for work to arrive before returning. Must be 1-999 in milliseconds. Defaults to non-blocking (returns immediately if no work is available).
minimum: 1
-
reclaim_older_than_ms: optional numberReclaim unacknowledged work items older than this many milliseconds. If omitted, uses the default (5000ms).
minimum: 1
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 43 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" -
"compact-2026-09-04"
-
-
-
"Anthropic-Worker-ID": optional stringUnique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console
Returns
-
BetaSelfHostedWork objectWork resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
-
type: "work"The type of object (always 'work')
default: work
-
id: stringWork identifier (e.g., 'work_...')
-
acknowledged_at: string or nullRFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
-
created_at: stringRFC 3339 timestamp when work was created
-
data: BetaSessionWorkDataThe actual work to be performed
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-
-
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...) -
latest_heartbeat_at: string or nullRFC 3339 timestamp of the most recent heartbeat
-
metadata: map[string]User-provided metadata key-value pairs associated with this work item
-
secret: string or nullCredential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
-
started_at: string or nullRFC 3339 timestamp when work execution started
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
stop_requested_at: string or nullRFC 3339 timestamp when stop was requested
-
stopped_at: string or nullRFC 3339 timestamp when work execution stopped
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID/work/poll \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}Acknowledge Work
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.
Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' and removing it from the queue.
Path parameters
-
environment_id: string -
work_id: string
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 43 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" -
"compact-2026-09-04"
-
-
Returns
-
BetaSelfHostedWork objectWork resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
-
type: "work"The type of object (always 'work')
default: work
-
id: stringWork identifier (e.g., 'work_...')
-
acknowledged_at: string or nullRFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
-
created_at: stringRFC 3339 timestamp when work was created
-
data: BetaSessionWorkDataThe actual work to be performed
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-
-
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...) -
latest_heartbeat_at: string or nullRFC 3339 timestamp of the most recent heartbeat
-
metadata: map[string]User-provided metadata key-value pairs associated with this work item
-
secret: string or nullCredential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
-
started_at: string or nullRFC 3339 timestamp when work execution started
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
stop_requested_at: string or nullRFC 3339 timestamp when stop was requested
-
stopped_at: string or nullRFC 3339 timestamp when work execution stopped
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID/ack \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}Record Heartbeat
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.
Record a heartbeat for a work item to maintain the lease.
Path parameters
-
environment_id: string -
work_id: string
Query parameters
-
desired_ttl_seconds: optional numberDesired TTL in seconds
-
expected_last_heartbeat: optional stringExpected last_heartbeat for conditional update (optimistic concurrency). Use literal 'NO_HEARTBEAT' to claim an unclaimed lease (first heartbeat). For subsequent heartbeats, echo the server's previous last_heartbeat value exactly. Returns 412 Precondition Failed if the actual value doesn't match.
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 43 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" -
"compact-2026-09-04"
-
-
Returns
-
BetaSelfHostedWorkHeartbeatResponse objectResponse after recording a heartbeat for a work item.
-
type: "work_heartbeat"The type of response
default: work_heartbeat
-
last_heartbeat: stringRFC 3339 timestamp of the actual heartbeat from DB
-
lease_extended: booleanWhether the heartbeat succeeded in extending the lease
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item (active/stopping/stopped)
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
ttl_seconds: numberEffective TTL applied to the lease
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID/heartbeat \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"last_heartbeat": "last_heartbeat",
"lease_extended": true,
"state": "queued",
"ttl_seconds": 0,
"type": "work_heartbeat"
}Stop Work
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.
Stop a work item, initiating graceful or forced shutdown.
Path parameters
-
environment_id: string -
work_id: string
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 43 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" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Body parameters
-
force: optional booleanIf true, immediately stop work without graceful shutdown
default: false
Returns
-
BetaSelfHostedWork objectWork resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
-
type: "work"The type of object (always 'work')
default: work
-
id: stringWork identifier (e.g., 'work_...')
-
acknowledged_at: string or nullRFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
-
created_at: stringRFC 3339 timestamp when work was created
-
data: BetaSessionWorkDataThe actual work to be performed
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-
-
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...) -
latest_heartbeat_at: string or nullRFC 3339 timestamp of the most recent heartbeat
-
metadata: map[string]User-provided metadata key-value pairs associated with this work item
-
secret: string or nullCredential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
-
started_at: string or nullRFC 3339 timestamp when work execution started
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
stop_requested_at: string or nullRFC 3339 timestamp when stop was requested
-
stopped_at: string or nullRFC 3339 timestamp when work execution stopped
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID/stop \
-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 '{}'Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}List Work Items
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.
List work items in an environment.
Path parameters
environment_id: string
Query parameters
-
limit: optional numberMaximum number of work items to return
default: 20, maximum: 1000, minimum: 1
-
page: optional stringOpaque cursor from previous response for pagination
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 43 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" -
"compact-2026-09-04"
-
-
Returns
-
BetaSelfHostedWorkListResponse objectResponse when listing work items with cursor-based pagination.
-
data: array of BetaSelfHostedWorkList of work items
-
type: "work"The type of object (always 'work')
default: work
-
id: stringWork identifier (e.g., 'work_...')
-
acknowledged_at: string or nullRFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
-
created_at: stringRFC 3339 timestamp when work was created
-
data: BetaSessionWorkDataThe actual work to be performed
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-
-
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...) -
latest_heartbeat_at: string or nullRFC 3339 timestamp of the most recent heartbeat
-
metadata: map[string]User-provided metadata key-value pairs associated with this work item
-
secret: string or nullCredential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
-
started_at: string or nullRFC 3339 timestamp when work execution started
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
stop_requested_at: string or nullRFC 3339 timestamp when stop was requested
-
stopped_at: string or nullRFC 3339 timestamp when work execution stopped
-
-
next_page: string or nullOpaque cursor for fetching the next page of results
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID/work \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}
],
"next_page": "next_page"
}Update Work Item
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.
Update work item metadata with merge semantics.
Path parameters
-
environment_id: string -
work_id: string
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 43 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" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Body parameters
-
metadata: map[string]Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve existing metadata.
Returns
-
BetaSelfHostedWork objectWork resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
-
type: "work"The type of object (always 'work')
default: work
-
id: stringWork identifier (e.g., 'work_...')
-
acknowledged_at: string or nullRFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
-
created_at: stringRFC 3339 timestamp when work was created
-
data: BetaSessionWorkDataThe actual work to be performed
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-
-
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...) -
latest_heartbeat_at: string or nullRFC 3339 timestamp of the most recent heartbeat
-
metadata: map[string]User-provided metadata key-value pairs associated with this work item
-
secret: string or nullCredential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
-
started_at: string or nullRFC 3339 timestamp when work execution started
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
stop_requested_at: string or nullRFC 3339 timestamp when stop was requested
-
stopped_at: string or nullRFC 3339 timestamp when work execution stopped
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID \
-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 '{
"metadata": {
"foo": "string"
}
}'Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}Get Queue Statistics
GET /v1/environments/{environment_id}/work/stats
Get statistics about the work queue for an environment.
Path parameters
environment_id: string
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 43 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" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Returns
-
BetaSelfHostedWorkQueueStats objectStatistics about the work queue for an environment.
Uses Redis Stream consumer group metrics for O(1) queries.
-
type: "work_queue_stats"The type of object
default: work_queue_stats
-
depth: numberNumber of work items waiting to be picked up (lag from consumer group)
-
oldest_queued_at: string or nullRFC 3339 timestamp of oldest item in the work stream (includes both queued and pending items), null if stream empty
-
pending: numberNumber of work items being processed (polled but not acknowledged)
default: 0
-
workers_polling: number or nullNumber of workers that have polled for work in the last 30 seconds. Requires worker_id to be sent with poll requests.
-
Example
curl https://api.anthropic.com/v1/environments/$ENVIRONMENT_ID/work/stats \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"depth": 0,
"oldest_queued_at": "oldest_queued_at",
"pending": 0,
"type": "work_queue_stats",
"workers_polling": 0
}Domain types
Beta Self Hosted Work
-
BetaSelfHostedWork objectWork resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
-
type: "work"The type of object (always 'work')
default: work
-
id: stringWork identifier (e.g., 'work_...')
-
acknowledged_at: string or nullRFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
-
created_at: stringRFC 3339 timestamp when work was created
-
data: BetaSessionWorkDataThe actual work to be performed
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-
-
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...) -
latest_heartbeat_at: string or nullRFC 3339 timestamp of the most recent heartbeat
-
metadata: map[string]User-provided metadata key-value pairs associated with this work item
-
secret: string or nullCredential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
-
started_at: string or nullRFC 3339 timestamp when work execution started
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
stop_requested_at: string or nullRFC 3339 timestamp when stop was requested
-
stopped_at: string or nullRFC 3339 timestamp when work execution stopped
-
Beta Self Hosted Work Heartbeat Response
-
BetaSelfHostedWorkHeartbeatResponse objectResponse after recording a heartbeat for a work item.
-
type: "work_heartbeat"The type of response
default: work_heartbeat
-
last_heartbeat: stringRFC 3339 timestamp of the actual heartbeat from DB
-
lease_extended: booleanWhether the heartbeat succeeded in extending the lease
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item (active/stopping/stopped)
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
ttl_seconds: numberEffective TTL applied to the lease
-
Beta Self Hosted Work List Response
-
BetaSelfHostedWorkListResponse objectResponse when listing work items with cursor-based pagination.
-
data: array of BetaSelfHostedWorkList of work items
-
type: "work"The type of object (always 'work')
default: work
-
id: stringWork identifier (e.g., 'work_...')
-
acknowledged_at: string or nullRFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
-
created_at: stringRFC 3339 timestamp when work was created
-
data: BetaSessionWorkDataThe actual work to be performed
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-
-
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...) -
latest_heartbeat_at: string or nullRFC 3339 timestamp of the most recent heartbeat
-
metadata: map[string]User-provided metadata key-value pairs associated with this work item
-
secret: string or nullCredential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
-
started_at: string or nullRFC 3339 timestamp when work execution started
-
state: "queued" or "starting" or "active" or 2 moreCurrent state of the work item
-
"queued" -
"starting" -
"active" -
"stopping" -
"stopped"
-
-
stop_requested_at: string or nullRFC 3339 timestamp when stop was requested
-
stopped_at: string or nullRFC 3339 timestamp when work execution stopped
-
-
next_page: string or nullOpaque cursor for fetching the next page of results
-
Beta Self Hosted Work Queue Stats
-
BetaSelfHostedWorkQueueStats objectStatistics about the work queue for an environment.
Uses Redis Stream consumer group metrics for O(1) queries.
-
type: "work_queue_stats"The type of object
default: work_queue_stats
-
depth: numberNumber of work items waiting to be picked up (lag from consumer group)
-
oldest_queued_at: string or nullRFC 3339 timestamp of oldest item in the work stream (includes both queued and pending items), null if stream empty
-
pending: numberNumber of work items being processed (polled but not acknowledged)
default: 0
-
workers_polling: number or nullNumber of workers that have polled for work in the last 30 seconds. Requires worker_id to be sent with poll requests.
-
Beta Self Hosted Work Stop Request
-
BetaSelfHostedWorkStopRequest objectRequest to stop a work item.
-
force: optional booleanIf true, immediately stop work without graceful shutdown
default: false
-
Beta Self Hosted Work Update Request
-
BetaSelfHostedWorkUpdateRequest objectRequest to update work item metadata.
-
metadata: map[string]Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve existing metadata.
-
Beta Session Work Data
-
BetaSessionWorkData objectWork data for session work items.
This resource type is used when work represents a session that needs to be executed in a self-hosted environment.
-
type: "session"Type of work data
-
id: stringSession identifier (e.g., 'session_...')
-