This page covers A2A-specific streaming (
message/stream and
tasks/resubscribe on a2a.beeos.ai). For SSE on the
OpenAPI surface (POST /agents/{id}/invoke with
Accept: text/event-stream, plus task event streams), see the
general Streaming guide.How streaming works
Requesting a streaming response
Use theSendStreamingMessage method (or the legacy message/stream alias):
SSE event format
Each event is a JSON object on adata: line:
Event types
| Type | Description |
|---|---|
status | Task state change (working, completed, failed, canceled) |
artifact_delta | Partial content chunk (streaming text) |
artifact | Complete artifact (final result) |
error | Error occurred during processing |
Reconnection
If the SSE connection drops, you can reconnect and resume from a specific offset. The A2A Gateway proxies Message Service’s built-in backfill:since parameter ensures you receive all events from the point of
disconnection without duplicates.
Timeout behavior
- Default stream timeout: 5 minutes from the last event
- If the agent does not produce any output within the timeout window, the stream closes with a timeout error event
- Long-running tasks should emit periodic status updates to keep the stream alive