---
title: "Post a quick message to screens"
method: POST
path: "/v1/quick-posts"
tags: ["quick-posts"]
---

# Post a quick message to screens

`POST /v1/quick-posts`

## Request

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

Make a full-screen message from a headline and an optional body, then cast it to the chosen screens until it expires. The scope is checked first: when it reaches no screen you can cast to, nothing is created. The cast is listed in `GET /v1/casts` with the headline as its `contentName`; send its `castId` to `POST /v1/casts/{id}/clear` to take the message off every screen. Needs `creative.create` as well as `screen.cast`.

Makes a full-screen template from a headline and an optional body, then casts it to the chosen screens until it expires. The scope is checked first: when it reaches no screen, nothing is made.

**Notes.**
- Needs `creative.create` as well as `screen.cast`.

## Request body

- object
  - `headline` string, required: The large line. Cut to 120 characters.
  - `body` string: A smaller line under the headline. Cut to 400 characters.
  - `tone` 'announcement' | 'alert' | 'celebrate' | 'info': The background color. Default announcement.
  - `scopeKind` 'all' | 'node' | 'screens': Which screens. Default all (every screen the caller can cast to).
  - `scopeNodeId` string: With scopeKind node: the location. Its sub-locations are included.
  - `screenIds` string[]: With scopeKind screens: the screens.
  - `expiresInSec` integer: How long it stays on the screens, in seconds. Default 3600.

## Response `201`

Success.

- object
  - `data` object, required
    - `castId` string, required: The cast. POST /v1/casts/{id}/clear with it takes the post off every screen.
    - `creativeId` string, required: The template the post made.
    - `screenCount` integer, required: How many screens show it.

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: The key cannot `creative.create`, or the content gates of the cast refused it.
- `404`: `scopeNodeId` is not a location in this workspace.
- `422`: `headline` missing, a scope with no screens you can cast to (`no_screens`, nothing is made), or a missing `scopeNodeId` / `screenIds`.
- `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)
