Skip to main content

Event Stream

The signageOS Event Stream delivers real-time domain and telemetry events to your webhook endpoints as they occur on the platform.

Set up an exporter

To start receiving these events, create an exporter that subscribes to the event types you need:

For the concepts, see Introduction to Event Stream Distributor.

Webhook Delivery Format

Each event is delivered as an HTTP POST with a JSON body containing exactly four fields:

{
"id": "0197f2a4-3a5e-7b1c-9d2f-8c4e6a1b3d5f",
"kind": "domain",
"type": "Device.Connect.DeviceConnected",
"payload": { ... }
}
FieldTypeDescription
idstringUnique identifier of the event instance, generated when the event is emitted. It stays the same across repeated deliveries of the same event — use it to deduplicate redeliveries.
kind"domain" | "telemetry"Category of the event
typestringFully-qualified event type identifier
payloadobjectEvent-specific data (see individual event pages)

Webhook Headers

Every delivery includes the following HTTP headers:

HeaderDescriptionPresence
X-SOS-Sequence-NumberStringified integer — monotonically increasing delivery sequenceDomain events only
X-SOS-Exporter-Config-UidUID of the exporter configuration that produced this deliveryAll events
X-SOS-TimestampUnix timestamp in seconds at time of deliveryAll events
X-SOS-SignatureBase64 HMAC-SHA256, prefixed with v1=, over {METHOD}{url}{timestamp}{body} (uppercased HTTP method, concatenated, no separators) using your configured webhook secretAll events

Event Catalogue

Device

2 event types

Device / Provisioning Recipe

4 event types

Device / Telemetry

1 event type

Device / Verification

2 event types