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": { ... }
}
| Field | Type | Description |
|---|---|---|
id | string | Unique 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 |
type | string | Fully-qualified event type identifier |
payload | object | Event-specific data (see individual event pages) |
Webhook Headers
Every delivery includes the following HTTP headers:
| Header | Description | Presence |
|---|---|---|
X-SOS-Sequence-Number | Stringified integer — monotonically increasing delivery sequence | Domain events only |
X-SOS-Exporter-Config-Uid | UID of the exporter configuration that produced this delivery | All events |
X-SOS-Timestamp | Unix timestamp in seconds at time of delivery | All events |
X-SOS-Signature | Base64 HMAC-SHA256, prefixed with v1=, over {METHOD}{url}{timestamp}{body} (uppercased HTTP method, concatenated, no separators) using your configured webhook secret | All events |
Event Catalogue
Device
2 event types
Device / Provisioning Recipe
4 event types
Device / Telemetry
1 event type
Device / Verification
2 event types