---
title: "List subscribable webhook events"
method: GET
path: "/v1/webhooks/events"
tags: ["webhooks"]
---

# List subscribable webhook events

`GET /v1/webhooks/events`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/webhooks/events`
- Auth: HTTP bearer

List the catalog of event types that can be subscribed to, each with a label and a description of what it carries. Only `content.recalled` and `content.restored` events are actually sent today; other listed events are not yet emitted.

**Notes.**
- `data` per event — screen.offline: screenId, screenName, status, nodeId, nodeName, lastSeenAt, upForSec, scheduledOff. screen.online: screenId, screenName, status, nodeId, nodeName, lastSeenAt, offlineSince, offlineForSec. approval.requested: requestId, contentKind, contentId, contentName, nodeId, nodeName, requestedById, requestedByName, requestedAt, note. approval.decided: the same plus decision (approved | rejected | withdrawn), decidedById, decidedByName, decidedAt, decisionNote. emergency.started: emergencyId, headline, body, severity, contentKind, contentId, scopeKind, scopeNodeId, scopeName, screenCount, triggeredById, triggeredByName, triggeredAt, expiresAt, templateId, templateName. emergency.cleared: the same plus clearedAt, clearedById, clearedByName, reason (cleared | expired | replaced | content-deleted). content.recalled: kind, id, name, reason, recalledBy. content.restored: kind, id, name.
- screen.offline is sent once per outage, when Brix marks the screen offline (seconds after a socket drop, up to 45 minutes for a screen that reports only by heartbeat). A screen that drops again before it is back is the same outage. screen.online follows when it reports again, within about 5 minutes.

## Response `200`

Success.

- object
  - `data` object[], required
    - `event` 'screen.offline' | 'screen.online' | 'content.recalled' | 'content.restored' | 'approval.requested' | 'approval.decided' | 'emergency.started' | 'emergency.cleared', required
    - `label` string, required
    - `what` string, required: What the event means and carries.
    - `fields` string[], required: The keys of the delivery's `data` object. Every key is always sent (null when unknown). Keys are added over time, never renamed or removed.

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: The token lacks the permission this operation needs (see `x-brix-permission`).
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
