Skip to content

Retrieve, dismiss, and clear notifications for one or more displays, and open a real-time WebSocket stream for live notification delivery. Use these endpoints when building notification dashboards, alert sinks, or background consumers that need to stay in sync with the notification server.

Get notifications for specified display(s)

Section titled “Get notifications for specified display(s)”

GET /api/v1/notifications/{display}

Retrieves notifications for one or more specified displays. The display path parameter accepts a single ID, a comma-separated list, or all to fetch from every display.

NameInTypeRequiredDescription
displaypathstringYesA single display ID (e.g., 1 or :1), a comma-separated list (e.g., 1,:2,3), or all to fetch from all displays
limitqueryintegerNoMaximum number of notifications to return. Default: 100
sincequeryintegerNoUnix timestamp in milliseconds to get notifications after this time
usernamequerystringNoFilter notifications by username
sessionquerystringNoFilter notifications by session ID
Terminal window
curl -X GET "https://your-instance.com/api/v1/notifications/all?limit=50&since=1749024000000" \
-H "Authorization: Bearer <token>"

Real-time notification stream via WebSocket

Section titled “Real-time notification stream via WebSocket”

GET /api/v1/notifications/stream

Establishes a WebSocket connection for real-time notification updates. Subscribe to one or more displays and receive messages as they are produced by the notification server.

NameInTypeRequiredDescription
displaysquerystringYesComma-separated display IDs to subscribe to (e.g., 0,:1,2), or all to receive notifications from every display.
Terminal window
curl -X GET "https://your-instance.com/api/v1/notifications/stream?displays=all" \
-H "Upgrade: websocket" \
-H "Connection: Upgrade" \
-H "Sec-WebSocket-Version: 13" \
-H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ=="

POST /api/v1/notifications/dismiss

Marks notifications as dismissed. Dismissed notifications are filtered from subsequent GET responses until they are cleared with the DELETE endpoint below.

FieldTypeRequiredDescription
notificationIdsarray of integerYesArray of notification IDs to dismiss
displayIdstringNoOptional display ID to scope the dismissal

This endpoint takes no path, query, or header parameters.

Terminal window
curl -X POST "https://your-instance.com/api/v1/notifications/dismiss" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"notificationIds": [10, 11, 12],
"displayId": "1"
}'

DELETE /api/v1/notifications/dismiss

Clears the dismissed state, making previously dismissed notifications visible to subsequent GET calls again. Optionally scope the clear to a single display.

NameInTypeRequiredDescription
displayIdquerystringNoOptional display ID to scope the clear operation
Terminal window
curl -X DELETE "https://your-instance.com/api/v1/notifications/dismiss?displayId=1" \
-H "Authorization: Bearer <token>"