Skip to content

Drives physical signage panels and server-side video streams from one routing core.

appLines of business79 operationsid cast

How it sits

An app is already assembled from parts, with a face of its own. The counts and the links below are from the platform's spec and the other services' own descriptions.

Among the partsfrom the spec
Operations79 GET 28 · POST 22 · PUT 16 · DELETE 10 · PATCH 3
Resources13
Leaned on byGroundGame, Stitch
Leans onWeave
In recipesnone yet

What it can do

79 operations in 13 resources, as the spec declares them. Each row is one call; paths are relative to the part.

devices

MethodPathDoes
GET/api/v1/devicesList devices + hardware status
POST/api/v1/devices/claimClaim a device, issue a token
GET/api/v1/devices/currentBox's bound channel by token (loopback/mesh; gate blocks public)
POST/api/v1/devices/frameBox uploads its actual rendered panel
POST/api/v1/devices/telemetryBox health/status report
POST/api/v1/devices/virtualCreate a server-side stream device
DELETE/api/v1/devices/{device_id}Deregister a device
GET/api/v1/devices/{device_id}One device's status + hardware
PUT/api/v1/devices/{device_id}/channelPin a box to a channel (set content / pause one screen)
PUT/api/v1/devices/{device_id}/classificationSet a device's display clearance ceiling
POST/api/v1/devices/{device_id}/commandQueue a command for a box
GET/api/v1/devices/{device_id}/frameA box's last actual panel
PUT/api/v1/devices/{device_id}/lockSet a device's control lock (remote read-only gate)
PUT/api/v1/devices/{device_id}/nameSet a device's display name
PUT/api/v1/devices/{device_id}/prefsSave a box's UI prefs (the remote's preferences)
PUT/api/v1/devices/{device_id}/programBind a box to a program (or clear)
PUT/api/v1/devices/{device_id}/railSet a box's side-rail width %
PUT/api/v1/devices/{device_id}/scaleSet a box's per-panel render scale
POST/api/v1/devices/{device_id}/stream/startStart a device's stream — broadcasts its bound channel (HLS + optional YouTube)
GET/api/v1/devices/{device_id}/stream/statusA device's stream status
POST/api/v1/devices/{device_id}/stream/stopStop a device's stream
PUT/api/v1/devices/{device_id}/stream/urlSet a device's public YouTube watch URL (shown in the Cast UI)
GET/api/v1/devices/{device_id}/wifiRead a box's desired WiFi list
POST/api/v1/devices/{device_id}/wifiAdd or update one WiFi network
PUT/api/v1/devices/{device_id}/wifiReplace a box's WiFi list (full set)
DELETE/api/v1/devices/{device_id}/wifi/{ssid}Remove one WiFi network
26 operations

channels

MethodPathDoes
GET/api/v1/channelsList channels
POST/api/v1/channelsCreate a channel
POST/api/v1/channels/_self/kiosk-tokenExchange a device token for a Auth kiosk token (Enhanced URL channels)
GET/api/v1/channels/_self/wifiThe calling box's desired WiFi list (device-token authed)
DELETE/api/v1/channels/staleRetire every stale channel (bulk)
GET/api/v1/channels/staleList stale channels (retire review)
DELETE/api/v1/channels/{channel_id}Delete a channel
GET/api/v1/channels/{channel_id}Channel detail
PATCH/api/v1/channels/{channel_id}Edit channel metadata
DELETE/api/v1/channels/{channel_id}/currentClear scene -> standby/logo
GET/api/v1/channels/{channel_id}/currentBox endpoint (SVG + long-poll)
PUT/api/v1/channels/{channel_id}/currentSet a channel's scene (manual)
PUT/api/v1/channels/{channel_id}/dataPush an Enhanced channel's data scene
POST/api/v1/channels/{channel_id}/pausePause/resume a channel (hold current slide)
PUT/api/v1/channels/{channel_id}/playlistSet a slideshow playlist
PUT/api/v1/channels/{channel_id}/storyCompile + push a Story Mode scene
16 operations

rooms

MethodPathDoes
GET/api/v1/roomsList rooms (named device groups)
POST/api/v1/roomsCreate a room
DELETE/api/v1/rooms/{room_id}Delete a room
GET/api/v1/rooms/{room_id}Room detail
PATCH/api/v1/rooms/{room_id}Edit a room (name / membership)
PUT/api/v1/rooms/{room_id}/beatSet/clear a room's synchronized beat
POST/api/v1/rooms/{room_id}/beat/pausePause/resume a room's beat (freeze the wall)
POST/api/v1/rooms/{room_id}/beat/pulseAdvance a room one step now (the wall's 'next')
8 operations

programs

MethodPathDoes
GET/api/v1/programsList programs (+ bound devices)
POST/api/v1/programsCreate/rename a program (idempotent by id)
DELETE/api/v1/programs/{program_id}Delete a program (unbinds devices)
GET/api/v1/programs/{program_id}Program detail
POST/api/v1/programs/{program_id}/jumpCut a program to a board
POST/api/v1/programs/{program_id}/pausePause/resume a program
PUT/api/v1/programs/{program_id}/slotsSet a program's ordered boards
7 operations

screenshots

MethodPathDoes
GET/api/v1/screenshotsList screenshots
POST/api/v1/screenshotsCapture a screenshot (snapshot or upload)
DELETE/api/v1/screenshots/{shot_id}Delete a screenshot
GET/api/v1/screenshots/{shot_id}Screenshot image bytes
PATCH/api/v1/screenshots/{shot_id}Update a screenshot label
5 operations

workspaces

MethodPathDoes
GET/api/v1/workspacesList workspaces
POST/api/v1/workspacesCreate a workspace
GET/api/v1/workspaces/{workspace_id}Workspace detail (scenes)
POST/api/v1/workspaces/{workspace_id}/scenesAdd/create a scene
DELETE/api/v1/workspaces/{workspace_id}/scenes/{scene_id}Remove scene
5 operations

scenes

MethodPathDoes
GET/api/v1/scenesList scenes
POST/api/v1/scenesCreate a scene (markdown spec or raw SVG)
DELETE/api/v1/scenes/{scene_id}Delete a scene from the library
GET/api/v1/scenes/{scene_id}Rendered scene SVG
4 operations

health

MethodPathDoes
GET/healthBasic health check
GET/health/detailedDetailed health check
2 operations

streams

MethodPathDoes
GET/api/v1/streamsAll active streams
GET/api/v1/streams/{device_id}/{filename}Serve HLS playlist/segments
2 operations

prime

MethodPathDoes
GET/primePrime application caches
1 operation

render

MethodPathDoes
POST/api/v1/render/pdfRender a the host URL to PDF
1 operation

state-rev

MethodPathDoes
GET/api/v1/state-revFleet change-revision (cheap poll target)
1 operation

status

MethodPathDoes
GET/statusService status overview
1 operation

All the partsLines of businessThe platform's own id for this service is cbcast.

forge-catalog.json, generated Oct 30, 2026

Anti-cloud. Host local, think global.

Terminal
/terminal