Live updates

Server-Sent Events for live UI updates.

All paths are relative to the base path /api/v1 (same origin as the UI). Authentication, roles, pagination and the error format are described in the overview; the types are on the page Data types.

OperationRequestPermission
Live updates as Server-Sent EventsGET /events/streamread (viewer)

Live updates as Server-Sent Events

GET /api/v1/events/stream

Operation streamEvents. Permission read (lowest role: viewer).

text/event-stream. Each message has event: <type>, id: <monotonic id> and data: <JSON>:

eventdata schema
agent.updatedAgentSummary (coalesced, max 1/s per agent)
agent.removedLiveAgentRemovedData
rollout.updatedRolloutSummary
fleet.updatedLiveFleetUpdatedData - the effective target version or the UI version selection of a fleet changed (select, clear, superseded/invalidated by Git): refetch fleet views
gitops.syncedGitOpsBrief
release.newReleaseSummary
stats.changed{} - hint to refetch the dashboard (max 1 per 5 s)
resync{} - client fell behind or the server lost events: refetch all views

A comment line : ping is sent every 15 s. Clients use EventSource (cookie auth) and reconnect automatically; after a reconnect they should refetch visible data (no replay; Last-Event-ID is ignored).

Responses

StatusDescriptionContent typeType
200Event streamtext/event-streamstring
401Not authenticated (code unauthorized)application/problem+jsonProblem