Stream Run Sse
GET /runs/{run_id}/streamThe same frames as the socket, one-way, over ordinary HTTP.
Authentication is the Authorization header — there is no handshake frame, because
there is no frame to put one in. A Last-Event-ID header from a browser’s native
reconnection is honoured as after_seq: that is what putting seq on the id: line
buys, and it costs the client nothing.
?replay=false opens the stream live-only, from the run’s current high-water mark
(D-629), for a client that is reading the journal itself and would otherwise be handed the
same backlog twice. An explicit flag rather than a sentinel cursor, because
Last-Event-ID already competes for after_seq: a client asking for “from now” as
after_seq=-1 would silently get its whole backlog on the first browser reconnection.
Parameters
Section titled “Parameters”| Name | In | Type | Notes | |
|---|---|---|---|---|
run_id | path | string (uuid) | required | — |
after_seq | query | integer | optional | Default 0. min 0 |
replay | query | boolean | optional | Default true. |
Responses
Section titled “Responses”| Status | Description | Body |
|---|---|---|
200 | Successful Response | — |
422 | Validation Error | HTTPValidationError |
Example
Section titled “Example”curl -X GET https://your-deployment.example.com/runs/{run_id}/stream \ -H "Authorization: Bearer $COBRE_TOKEN"