Streaming chat (SSE)
POST /v1/chat/stream — Streaming agent turn over Server-Sent Events. Each SSE event is a JSON payload describing an intermediate step: LLM delt
POST /v1/chat/stream
Streaming agent turn over Server-Sent Events. Each SSE event is a JSON payload describing an intermediate step: LLM delta, tool call, tool result, or final assistant message.
| Method | POST |
| Path | /v1/chat/stream |
| Auth | Authorization: Bearer <token> required when GATEWAY_AUTH_TOKEN is set |
| Category | chat |
Request body
{ "message": "analyze BTC momentum" }Response body
text/event-stream — see the SSE envelope defined in `apps/agent/src/gateway/api.ts`.Notes
Mid-turn steering events: a user_interjection event ({ "message": "...", "ts_ms": 1747000000000 }) is emitted when a message queued via POST /v1/chat/interject is injected into the running turn. The final done event data carries two optional fields: interrupted: true when the turn was stopped via POST /v1/chat/interrupt, and pending_interjections: string[] listing interjected messages that arrived too late to inject; clients re-send those as normal messages.