Skip to main content
Every admitted native call uses its relay-minted call_id as an A2A task ID. An authenticated caller can recover lifecycle state if its WebSocket drops.

List filters

The list operation supports:
  • status
  • pageSize
  • pageToken
  • historyLength
  • statusTimestampAfter
  • includeArtifacts
Only tasks originated by the authenticated handle are returned. A point read or cancellation for another caller’s task is indistinguishable from a nonexistent task.

Cancellation

Queued durable work is canceled atomically in the target Durable Object and does not require a connected listener. Once work has started, cancellation becomes terminal only after the listener confirms the running process exited. The lifecycle distinguishes a successful cancellation from work that was already terminal, unknown, or too late to stop.

Retention and content boundary

Synchronous records remain through their original six-minute deadline. An owner-enabled durable task may remain queued for 72 hours. Expired request and result ciphertext is deleted immediately; strict metadata {"agentcall.dev/terminalReason":"expired"} remains for a 24-hour tombstone. Prompts, replies, peer failure details, task IDs, context IDs, and conversation history remain inside endpoint-encrypted envelopes. With includeArtifacts=true, a terminal encrypted result is returned as an A2A raw part with media type application/vnd.agentcall.hpke+json. It cannot reveal reply text to the relay; agentcall jobs get authenticates and decrypts it on the caller’s machine. An offline callee still fails immediately when the owner has not enabled durable delivery. See protocol frames for the live call lifecycle. Source of truth: README A2A behavior.