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: stringwork_id: string
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"
Returns ​
BetaSelfHostedWork object { id, acknowledged_at, created_at, 9 more }Work 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.
id: stringWork identifier (e.g., 'work_...')
acknowledged_at: stringRFC 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
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...)latest_heartbeat_at: stringRFC 3339 timestamp of the most recent heartbeat
metadata: map[string]User-provided metadata key-value pairs associated with this work item
started_at: stringRFC 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: stringRFC 3339 timestamp when stop was requested
stopped_at: stringRFC 3339 timestamp when work execution stopped
type: "work"The type of object (always 'work')
"work"
Example ​
http
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 ​
json
{
"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"
},
"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).
reclaim_older_than_ms: optional numberReclaim unacknowledged work items older than this many milliseconds. If omitted, uses the default (5000ms).
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"
"Anthropic-Worker-ID": optional stringUnique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console
Returns ​
BetaSelfHostedWork object { id, acknowledged_at, created_at, 9 more }Work 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.
id: stringWork identifier (e.g., 'work_...')
acknowledged_at: stringRFC 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
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...)latest_heartbeat_at: stringRFC 3339 timestamp of the most recent heartbeat
metadata: map[string]User-provided metadata key-value pairs associated with this work item
started_at: stringRFC 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: stringRFC 3339 timestamp when stop was requested
stopped_at: stringRFC 3339 timestamp when work execution stopped
type: "work"The type of object (always 'work')
"work"
Example ​
http
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 ​
json
{
"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"
},
"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: stringwork_id: string
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"
Returns ​
BetaSelfHostedWork object { id, acknowledged_at, created_at, 9 more }Work 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.
id: stringWork identifier (e.g., 'work_...')
acknowledged_at: stringRFC 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
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...)latest_heartbeat_at: stringRFC 3339 timestamp of the most recent heartbeat
metadata: map[string]User-provided metadata key-value pairs associated with this work item
started_at: stringRFC 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: stringRFC 3339 timestamp when stop was requested
stopped_at: stringRFC 3339 timestamp when work execution stopped
type: "work"The type of object (always 'work')
"work"
Example ​
http
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 ​
json
{
"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"
},
"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: stringwork_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.
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"
Returns ​
BetaSelfHostedWorkHeartbeatResponse object { last_heartbeat, lease_extended, state, 2 more }Response after recording a heartbeat for a work item.
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
type: "work_heartbeat"The type of response
"work_heartbeat"
Example ​
http
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 ​
json
{
"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: stringwork_id: string
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 ​
force: optional booleanIf true, immediately stop work without graceful shutdown
Returns ​
BetaSelfHostedWork object { id, acknowledged_at, created_at, 9 more }Work 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.
id: stringWork identifier (e.g., 'work_...')
acknowledged_at: stringRFC 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
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...)latest_heartbeat_at: stringRFC 3339 timestamp of the most recent heartbeat
metadata: map[string]User-provided metadata key-value pairs associated with this work item
started_at: stringRFC 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: stringRFC 3339 timestamp when stop was requested
stopped_at: stringRFC 3339 timestamp when work execution stopped
type: "work"The type of object (always 'work')
"work"
Example ​
http
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 ​
json
{
"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"
},
"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
page: optional stringOpaque cursor from previous response for pagination
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"
Returns ​
BetaSelfHostedWorkListResponse object { data, next_page }Response when listing work items with cursor-based pagination.
data: array of BetaSelfHostedWorkList of work items
id: stringWork identifier (e.g., 'work_...')
acknowledged_at: stringRFC 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
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...)latest_heartbeat_at: stringRFC 3339 timestamp of the most recent heartbeat
metadata: map[string]User-provided metadata key-value pairs associated with this work item
started_at: stringRFC 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: stringRFC 3339 timestamp when stop was requested
stopped_at: stringRFC 3339 timestamp when work execution stopped
type: "work"The type of object (always 'work')
"work"
next_page: stringOpaque cursor for fetching the next page of results
Example ​
http
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 ​
json
{
"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"
},
"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: stringwork_id: string
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 ​
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 object { id, acknowledged_at, created_at, 9 more }Work 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.
id: stringWork identifier (e.g., 'work_...')
acknowledged_at: stringRFC 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
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...)latest_heartbeat_at: stringRFC 3339 timestamp of the most recent heartbeat
metadata: map[string]User-provided metadata key-value pairs associated with this work item
started_at: stringRFC 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: stringRFC 3339 timestamp when stop was requested
stopped_at: stringRFC 3339 timestamp when work execution stopped
type: "work"The type of object (always 'work')
"work"
Example ​
http
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 ​
json
{
"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"
},
"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
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"
Returns ​
BetaSelfHostedWorkQueueStats object { depth, oldest_queued_at, pending, 2 more }Statistics about the work queue for an environment.
Uses Redis Stream consumer group metrics for O(1) queries.
depth: numberNumber of work items waiting to be picked up (lag from consumer group)
oldest_queued_at: stringRFC 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)
type: "work_queue_stats"The type of object
"work_queue_stats"
workers_polling: numberNumber of workers that have polled for work in the last 30 seconds. Requires worker_id to be sent with poll requests.
Example ​
http
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 ​
json
{
"depth": 0,
"oldest_queued_at": "oldest_queued_at",
"pending": 0,
"type": "work_queue_stats",
"workers_polling": 0
}Domain Types ​
Beta Self Hosted Work ​
BetaSelfHostedWork object { id, acknowledged_at, created_at, 9 more }Work 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.
id: stringWork identifier (e.g., 'work_...')
acknowledged_at: stringRFC 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
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...)latest_heartbeat_at: stringRFC 3339 timestamp of the most recent heartbeat
metadata: map[string]User-provided metadata key-value pairs associated with this work item
started_at: stringRFC 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: stringRFC 3339 timestamp when stop was requested
stopped_at: stringRFC 3339 timestamp when work execution stopped
type: "work"The type of object (always 'work')
"work"
Beta Self Hosted Work Heartbeat Response ​
BetaSelfHostedWorkHeartbeatResponse object { last_heartbeat, lease_extended, state, 2 more }Response after recording a heartbeat for a work item.
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
type: "work_heartbeat"The type of response
"work_heartbeat"
Beta Self Hosted Work List Response ​
BetaSelfHostedWorkListResponse object { data, next_page }Response when listing work items with cursor-based pagination.
data: array of BetaSelfHostedWorkList of work items
id: stringWork identifier (e.g., 'work_...')
acknowledged_at: stringRFC 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
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"
environment_id: stringEnvironment identifier this work belongs to (e.g.,
env_...)latest_heartbeat_at: stringRFC 3339 timestamp of the most recent heartbeat
metadata: map[string]User-provided metadata key-value pairs associated with this work item
started_at: stringRFC 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: stringRFC 3339 timestamp when stop was requested
stopped_at: stringRFC 3339 timestamp when work execution stopped
type: "work"The type of object (always 'work')
"work"
next_page: stringOpaque cursor for fetching the next page of results
Beta Self Hosted Work Queue Stats ​
BetaSelfHostedWorkQueueStats object { depth, oldest_queued_at, pending, 2 more }Statistics about the work queue for an environment.
Uses Redis Stream consumer group metrics for O(1) queries.
depth: numberNumber of work items waiting to be picked up (lag from consumer group)
oldest_queued_at: stringRFC 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)
type: "work_queue_stats"The type of object
"work_queue_stats"
workers_polling: numberNumber 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 object { force }Request to stop a work item.
force: optional booleanIf true, immediately stop work without graceful shutdown
Beta Self Hosted Work Update Request ​
BetaSelfHostedWorkUpdateRequest object { metadata }Request 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 object { id, type }Work 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.
id: stringSession identifier (e.g., 'session_...')
type: "session"Type of work data
"session"