Skip to main content
GET
Stream every session's events

Authorizations

Authorization
string
header
required

A gbr_pat_ access token. Scopes are recorded on the token when it is minted.

Query Parameters

last_event_id
integer

Replay durable events after this seq. The Last-Event-ID header does the same thing.

Required range: x >= 0
root
string

Only the sessions under this one, itself included — the same tree GET /v1/sessions?root= returns. Without it this stream is organization-wide, so a second task sharing the organization arrives in yours and you drop its frames by hand. A worker started after the connection opened is included: membership is decided per session as each one is first seen, not snapshotted when you subscribe.

Response

Stream every session the organization owns.

A server-sent event. The response is text/event-stream, not JSON; this describes one frame's data.

object
string
required

Always event. Names the shape, so a value can be identified without knowing which call returned it.

Allowed value: "event"
type
string
required

The event's name. See events.md for the vocabulary.

session_id
string
required

The session it happened in.

created_at
integer
required

Unix milliseconds.

internal_type
string

The control plane's own name for the event, for cross-referencing logs.

seq
integer | null

Cursor for Last-Event-ID. Null on a transient event, which does not advance it.

payload
object

Everything specific to this event type. Not one shape — examples below carries a real payload for every type in the vocabulary, keyed by the type. Read the one you are handling rather than probing for fields: agent.tool_call carries toolName and args, not name and arguments, and guessing that pair wrong renders every tool call as an empty object.

Example: