Events

Subscribe to the real-time event stream

Server-Sent Events (text/event-stream) feed of newly indexed events. Each message's data is the fully decoded event as JSON and its id is the monotonic events.id. Reconnecting clients resume from Last-Event-ID (or the last_event_id query param) without gaps. A cursor beyond the current tip (e.g. one stored before an event-log reset) is clamped to the tip and the stream resumes live.

The stream opens with a retry: directive; honour it. The response is ended deliberately whenever the backlog cannot be replayed, and a client that reconnects immediately instead will spend an outage in a connect/close loop and can exhaust its events:read rate limit. A 429 is fatal to EventSource — per the HTML spec it stops reconnecting for good — so size that scope's limit above your expected subscriber count.

Required API-key scope: events:read.

get /events/stream

Authorizations

x-api-key string header required

Talus API Key in the form key_id.secret. The API also accepts Authorization: ApiKey <key_id.secret>, but the docs UI is configured to send x-api-key.

Query Parameters

kinds string | null

Comma-separated event kind names to subscribe to (e.g. WalkAdvancedEvent,DAGCreatedEvent). The trailing Event suffix is optional. Every name must be in the decodable event catalog; an unknown one is rejected rather than silently matching nothing. Omit to receive every event kind.

last_event_id integer | null

Resume from this events.id (exclusive). The Last-Event-ID request header takes precedence when present.

200

An open text/event-stream of decoded events.

400

kinds names an event absent from the decodable catalog.

401

Missing or invalid API key.

403

API key lacks the events:read scope.

429

Rate limit exceeded.