Skip to content
PushToDisplayWebsignal surfaces
HomeHow it worksUse casesAdmin
API payloadOpen admin

API Reference

Push To Display API

v1 — Current

Send structured display messages to boards via a single HTTP endpoint. Authenticate with a push token, target specific panels, and control layout rendering.

Quick start

Getting started

1. Sign in and open the admin portal.
2. Create a board — you'll receive a signed board ID.
3. Issue a push token under the Tokens section.
4. Bind a display device to the board using the mobile app.
5. Send your first API request (see below).

Authentication

API authentication

All API requests require a push token passed in the X-Api-Key header. Push tokens are scoped to your account and can be issued, listed, and revoked through the admin portal.

X-Api-Key: <your-push-token>

Endpoint

POST /api/v1/updates

Queues a display update for every device mapped to the requested board. Updates are delivered in real time via SignalR.

Request body

Request fields

FieldTypeRequiredDescription
boardIdstringYesSigned board ID from the admin portal.
segmentsarrayYesOne or more content segments to display. At least one segment required.
panelIdintegerNoTarget panel (1–4). Defaults to 1. Selects which panel to update in multi-panel layouts.
fullPanelbooleanNoWhen true, the content fills the entire panel area. Defaults to false.
densitystringNoContent density. Allowed: compact, standard, spacious.
alignXstringNoHorizontal alignment. Allowed: start, center, end.
alignYstringNoVertical alignment. Allowed: start, center, end.
backgroundstringNoPanel background color in hex format (#RRGGBB).

Segment object

Segment fields

Each segment represents a line or block of text in the display message.

FieldTypeRequiredDescription
textstringYesThe text content to display.
sizestringNoText size. Allowed: small, medium, large.
weightstringNoFont weight. Allowed: regular, semibold, bold.
colorstringNoText color in hex format (#RRGGBB).
backgroundstringNoSegment background color in hex format (#RRGGBB).

Example

Example request

curl -X POST https://api.pushtodisplay.com/api/v1/updates \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: <your-push-token>" \
  -d '{
  "boardId": "<signed-board-id>",
  "panelId": 1,
  "fullPanel": false,
  "density": "standard",
  "alignX": "center",
  "alignY": "center",
  "background": "#0F172A",
  "segments": [
    {
      "text": "Deploy completed",
      "color": "#E8FFF6",
      "background": "#0A4A36",
      "size": "large",
      "weight": "bold"
    },
    {
      "text": "Queue: 12 | Escalations: 0",
      "color": "#061A13"
    }
  ]
}'

Response

Response — 202 Accepted

A successful request returns 202 Accepted with a confirmation payload. The message is queued and delivered to all devices registered to the board.

{
  "messageId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "deviceIds": ["device-001", "device-002"],
  "enqueuedAtUtc": "2026-04-14T12:00:00Z",
  "userId": "user-abc",
  "boardId": "<signed-board-id>"
}

Errors

Error responses

StatusMeaning
400Bad request — missing or invalid fields (boardId, segments, panelId range, invalid hex color).
401Unauthorized — missing or invalid push token in X-Api-Key header.
403Forbidden — the push token does not have access to the specified board.
404Board not found — the boardId does not match any registered board.

Layouts

Display layout presets

Boards support four layout presets configured through the mobile app. Use the panelId field to target specific panels within each layout.

LayoutPanelsValid panelIdDescription
Full Screen11Single panel fills the entire display.
Stacked21–2Top (1) and bottom (2) horizontal panels.
Side by Side21–2Left (1) and right (2) vertical panels.
2×2 Grid41–4Top-left (1), top-right (2), bottom-left (3), bottom-right (4).

Notes

Additional notes

Content-Type. All requests must include Content-Type: application/json.

Delivery. Messages are delivered in real time to all devices currently connected to the board. Devices that are offline will receive the latest message when they reconnect.

Idempotency. Each request generates a unique messageId. The same payload sent twice will produce two separate display updates.

Need help? Contact support or email [email protected].

© 2026 Goban Source, LLC | Push To Display Platform

Industrial-grade screen signaling for automation, ops, and AI workflows.

HomeAdminDocsSign inAPI payloadSupportPrivacyTermsContact