---
title: "Trigger an emergency takeover"
method: POST
path: "/v1/emergencies"
tags: ["emergencies"]
---

# Trigger an emergency takeover

`POST /v1/emergencies`

## Request

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

Trigger an emergency takeover across a set of screens. An emergency takes the highest priority and layers over each screen's normal content, so clearing it restores exactly what was playing before.

Takes over the chosen screens now, above every schedule and cast, until cleared or expired. Clearing restores exactly what was playing.

**Notes.**
- The route is gated by `emergency-override.create`; the route registry's description names `emergency-override.trigger`, which is not a permission the API checks.

## Request body

- object
  - `headline` string, required: The message on every targeted screen. Required, non-blank.
  - `body` string: Optional second line.
  - `severity` 'info' | 'warning' | 'critical': Default `critical`.
  - `contentKind` 'media' | 'creative': Attach content to show under the banner. Needs `contentId`.
  - `contentId` string: The media or creative id. Needs `contentKind`.
  - `scopeKind` 'all' | 'node' | 'screens': Which screens: every screen you can reach (`all`), one location's subtree (`node`), or a list (`screens`). **Defaults to `all`: omit it and the emergency goes to EVERY screen you can reach.**
  - `scopeNodeId` string: Location id, with `scopeKind: node`.
  - `screenIds` string[]: Screen ids, with `scopeKind: screens`.
  - `expiresAt` union: When it clears by itself: ISO-8601 or epoch milliseconds. Omit or null to run until cleared.
    - string
    - number

## Response `201`

Success.

- object
  - `data` Override, required: A cast or an emergency override.
    - `id` string, required: Override (cast_… or emg_…) id.
    - `spaceId` string, required: Workspace id.
    - `kind` 'emergency' | 'cast', required
    - `status` 'active' | 'cleared' | 'expired', required
    - `severity` 'info' | 'warning' | 'critical', required: Always `info` for a cast.
    - `headline` string, required: An emergency's message; for a cast, the content's name (or "Cast").
    - `body` string, nullable, required
    - `contentKind` 'media' | 'creative' | 'playlist' | 'app' | 'schedule', nullable, required
    - `contentId` string, nullable, required
    - `contentName` string, nullable, required: Name of the content on air: for a cast, the label it was started with (a quick post's headline), else the content's current name; null when there is no content or it no longer exists.
    - `scopeKind` 'all' | 'node' | 'screens', required
    - `scopeNodeId` string, nullable, required: The location, when `scopeKind` is `node`.
    - `nodeId` string, nullable, required: Location the override is attributed to (null = workspace root).
    - `screenCount` integer, required: Screens targeted, snapshotted when it started.
    - `triggeredBy` string, required: User id, or `system`.
    - `triggeredAt` string, required: ISO-8601 timestamp (UTC).
    - `expiresAt` string, nullable, required: ISO-8601 timestamp (UTC).
    - `clearedBy` string, nullable, required
    - `clearedAt` string, nullable, required: ISO-8601 timestamp (UTC).
    - `triggeredByName` string, required: Display name of `triggeredBy`.
    - `clearedByName` string, nullable, required
    - `scopeName` string, nullable, required: Location name, `All screens`, or null for a screen list.
    - `confirmedCount` integer, nullable, required: Active emergencies only: screens confirmed showing it now. Null otherwise.

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: `not_shared`: the content is not shared to one or more target locations.
- `404`: The content does not exist in this workspace.
- `422`: Missing headline, a half content pointer, a bad `expiresAt`, no reachable screens (`no_screens`), or content that cannot play (`content_unplayable`).
- `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)
