Skip to content

Real-time SSE event stream in the odio API

All backends push state changes as Server-Sent Events (SSE). Connect once and get a unified stream of everything happening on the node.

GET /events
ParameterDescriptionExample
backendOnly receive events from this backend?backend=mpris
typesOnly receive these event types?types=player.updated,player.added
excludeExclude these event types?exclude=player.position
keepaliveKeepalive interval in seconds, an integer from 10 to 120 (default 30)?keepalive=30

server.info keepalive events are always sent, even when backend or types filter everything else, and can’t be excluded. An invalid parameter makes the server answer 400 Bad Request instead of opening the stream.

EventBackendTrigger
player.updatedmprisPlayback state, volume, or metadata change
player.addedmprisNew player appeared
player.removedmprisPlayer closed
player.positionmprisPeriodic position tick
player.tracklist.updatedmprisTracklist replaced, or a track added, removed, or its metadata changed
audio.updatedpulseaudioSink input added or changed
audio.removedpulseaudioSink input removed
service.updatedsystemdUnit state change
bluetooth.updatedbluetoothAdapter or device state change
power.actionpowerReboot or power-off triggered
upgrade.infoupgradeDetector status changed, or upgrade run lifecycle
upgrade.progressupgradeLive progress line from a running upgrade