Developers

Screen API reference

The endpoints our in-cab player uses to pair, sync, play and report — useful for fleet integrators, hardware partners and anyone auditing how delivery is evidenced.

Authentication

Every screen authenticates as itself. Pairing exchanges a one-time code for a device identity, and each subsequent request carries that identity. A screen can only read its own playlist and write its own playback records — there is no cross-tenant access from a player. Requests are made over HTTPS and payloads are JSON.

Base URL: https://digitalsignange.qualityoutsidethebox.org

Endpoints

Player and reporting endpoints

Eight endpoints cover the full lifecycle of a screen, from installation to end-of-campaign evidence.

POST/api/public/screen/pair

Pair a device

Exchanges a pairing code issued in the Admin Portal for a persistent screen identity. Called once per device during installation.

Codes are single-use and expire if unclaimed.

GET/api/public/screen/playlist

Fetch the playlist

Returns the ordered list of creatives assigned to the screen, with durations and download URLs so the player can cache media locally.

Poll on the sync interval; cached media survives connectivity gaps.

GET/api/public/screen/campaigns

Active campaigns

Campaign metadata behind the current playlist — flight dates, dayparts and priority — used by the player to resolve scheduling locally.

Dayparts are evaluated in the screen's configured timezone.

POST/api/public/screen/heartbeat

Report health

Uptime, player version, free storage, network state and current playback position. Drives the uptime figures shown in every portal.

Expected every 60 seconds while the screen is powered.

POST/api/public/screen/proof

Submit proof of play

Batched playback records: creative ID, start timestamp, duration played and completion flag. These records are the definitive delivery evidence.

Batches are idempotent; safe to retry after a failed upload.

GET/api/public/screen/commands

Poll for commands

Remote instructions queued by operators — restart player, clear cache, force resync, or display an emergency broadcast.

Acknowledge each command so it is not re-delivered.

GET/api/public/screen/notifications

Fetch notifications

Operational messages and emergency broadcasts targeted at a screen, a group, or the whole fleet.

Emergency broadcasts pre-empt the running playlist.

POST/api/public/screen/reports

Upload diagnostics

Device-side diagnostics: sync failures, decode errors, storage pressure and crash summaries, surfaced in the Diagnostics module.

Used by our field team to triage before a site visit.

Integrating a fleet system?

We can expose scheduled reporting exports and vehicle enrolment hooks for operators running their own fleet management stack. Tell us what your system needs and we will scope the integration.