Claude Platform Docs

Registrar heartbeat

BetaSelfHostedWorkHeartbeatResponse Beta.Environments.Work.Heartbeat(parameters, cancellationToken = default)
POST/v1/environments/{environment_id}/work/{work_id}/heartbeat

Nota: estos endpoints son llamados automáticamente por el worker de entorno prediseñado que se proporciona en los SDK y la CLI, para orquestar sesiones con entornos sandbox autoalojados. Se incluyen aquí como referencia; no necesitas invocarlos directamente.

Registra un heartbeat para un elemento de trabajo a fin de mantener el lease (concesión).

Parameters
WorkHeartbeatParams parameters
required string environmentID⁠Path parameter
required string workID⁠Path parameter
long? desiredTtlSeconds⁠Query parameter

Desired TTL in seconds

string? expectedLastHeartbeat⁠Query parameter

Expected 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.

IReadOnlyList<AnthropicBeta> betas⁠Header parameter

Optional header to specify the beta version(s) you want to use.

MessageBatches2024_09_24("message-batches-2024-09-24")
PromptCaching2024_07_31("prompt-caching-2024-07-31")
ComputerUse2024_10_22("computer-use-2024-10-22")
ComputerUse2025_01_24("computer-use-2025-01-24")
Pdfs2024_09_25("pdfs-2024-09-25")
TokenCounting2024_11_01("token-counting-2024-11-01")
TokenEfficientTools2025_02_19("token-efficient-tools-2025-02-19")
Output128k2025_02_19("output-128k-2025-02-19")
FilesApi2025_04_14("files-api-2025-04-14")
McpClient2025_04_04("mcp-client-2025-04-04")
McpClient2025_11_20("mcp-client-2025-11-20")
DevFullThinking2025_05_14("dev-full-thinking-2025-05-14")
InterleavedThinking2025_05_14("interleaved-thinking-2025-05-14")
CodeExecution2025_05_22("code-execution-2025-05-22")
ExtendedCacheTtl2025_04_11("extended-cache-ttl-2025-04-11")
Context1m2025_08_07("context-1m-2025-08-07")
ContextManagement2025_06_27("context-management-2025-06-27")
ModelContextWindowExceeded2025_08_26("model-context-window-exceeded-2025-08-26")
Skills2025_10_02("skills-2025-10-02")
FastMode2026_02_01("fast-mode-2026-02-01")
Output300k2026_03_24("output-300k-2026-03-24")
UserProfiles2026_03_24("user-profiles-2026-03-24")
UserProfiles2026_08_18("user-profiles-2026-08-18")
UserProfiles2026_09_04("user-profiles-2026-09-04")
AdvisorTool2026_03_01("advisor-tool-2026-03-01")
ManagedAgents2026_04_01("managed-agents-2026-04-01")
CacheDiagnosis2026_04_07("cache-diagnosis-2026-04-07")
Dreaming2026_04_21("dreaming-2026-04-21")
ThinkingTokenCount2026_05_13("thinking-token-count-2026-05-13")
ServerSideFallback2026_06_01("server-side-fallback-2026-06-01")
ServerSideFallback2026_07_01("server-side-fallback-2026-07-01")
FallbackCredit2026_06_01("fallback-credit-2026-06-01")
FallbackCredit2026_07_01("fallback-credit-2026-07-01")
AgentMemory2026_07_22("agent-memory-2026-07-22")
MidConversationToolChanges2026_07_01("mid-conversation-tool-changes-2026-07-01")
Compact2026_01_12("compact-2026-01-12")
ComputerUse2025_11_24("computer-use-2025-11-24")
McpTunnels2026_06_22("mcp-tunnels-2026-06-22")
StructuredOutputs2025_11_13("structured-outputs-2025-11-13")
TaskBudgets2026_03_13("task-budgets-2026-03-13")
ThinkingDisplayUpdates2026_08_18("thinking-display-updates-2026-08-18")
CEUserManagement2026_07_13("ce-user-management-2026-07-13")
MidConversationOutputConfig2026_07_01("mid-conversation-output-config-2026-07-01")
ThinkingBindingControls2026_08_01("thinking-binding-controls-2026-08-01")
MidConversationSystemClearAt2026_08_21("mid-conversation-system-clear-at-2026-08-21")
Compact2026_09_04("compact-2026-09-04")
InlineTools2026_09_15("inline-tools-2026-09-15")
McpClient2026_09_15("mcp-client-2026-09-15")
CEPlugins2026_09_01("ce-plugins-2026-09-01")
SpendLimitReads2026_09_26("spend-limit-reads-2026-09-26")
TelemetryDestinations2026_08_11("telemetry-destinations-2026-08-11")
Webhooks2026_10_07("webhooks-2026-10-07")
MessageThreads2026_08_12("message-threads-2026-08-12")
AnalyticsUsageCost2026_08_24("analytics-usage-cost-2026-08-24")
ExperimentalClaudeTag2026_10_21("experimental-claude-tag-2026-10-21")
Returns
class BetaSelfHostedWorkHeartbeatResponse { Type = "work_heartbeat"; LastHeartbeat; LeaseExtended; /* 2 more */ }

Response after recording a heartbeat for a work item.

JsonElement Type = "work_heartbeat"

The type of response

required string LastHeartbeat

RFC 3339 timestamp of the most recent heartbeat recorded for this work item, or an empty string if none has been recorded

required bool LeaseExtended

Whether the heartbeat succeeded in extending the lease

required State State

Current state of the work item (active/stopping/stopped)

One of the following:
Queued("queued")
Starting("starting")
Active("active")
Stopping("stopping")
Stopped("stopped")
required long TtlSeconds

Effective TTL applied to the lease

Registrar heartbeat
using System;
using Anthropic.Models.Beta.Environments.Work;

WorkHeartbeatParams parameters = new()
{
    EnvironmentID = "env_011CZkZ9X2dpNyB7HsEFoRfW",
    WorkID = "work_id",
};

var betaSelfHostedWorkHeartbeatResponse = await client.Beta.Environments.Work.Heartbeat(parameters);

Console.WriteLine(betaSelfHostedWorkHeartbeatResponse);
Returns Examples
Response 200
{
  "last_heartbeat": "last_heartbeat",
  "lease_extended": true,
  "state": "queued",
  "ttl_seconds": 0,
  "type": "work_heartbeat"
}