SSE stream
Subscribe to live Modeled position events with Server-Sent Events and opaque signed cursors.
Connect
/api/v1/output/feeds/{token}/streamOpen links.stream with Accept: text/event-stream. A new stream without a cursor establishes the current durable event high-watermark. It does not replay retained history.
Ready control event
The first frame is a small ready control event containing snapshot, events, and starting_cursor. Store that cursor before processing later events. The SSE id on the ready frame matches starting_cursor.
Modeled event frames
Each modeled event frame has:
id- opaque signed cursor after that eventevent- canonical topicdata- unchanged canonical event JSON
Heartbeats and reconnect
The stream sends : heartbeat comments after an idle interval. On reconnect, send the last committed SSE id in Last-Event-ID. The optional after query parameter accepts the same cursor. If both are supplied, they must match. Tradee always reads durable output_events after a notification or timeout, so a missed database notification cannot create an event gap.