LiveFeed
Live feed boards (doc 98) — a moderated, privacy-filtered wall of incoming messages, comments and reviews for a public screen, with kiosk links.
List live-feed boards (feed.view)
Every board of the workspace (doc 98). The kiosk link (`kiosk`) is a bearer credential and is returned only to members with `feed.manage`.
Create a live-feed board (feed.manage)
Create a live-feed board (feed.manage)
One live-feed board (feed.view)
One live-feed board (feed.view)
Change a live-feed board (feed.manage)
Partial: only the fields sent change; `settings` is merged onto the current settings. Switching privacy, the identity mode or images rebuilds the public shape of everything already on the board.
Delete a live-feed board and its items (feed.manage)
Delete a live-feed board and its items (feed.manage)
The panel's view of a board — every status, with verdicts (feed.view)
The panel's view of a board — every status, with verdicts (feed.view)
The preview's portrait rotation, a page at a time (feed.view)
Every eligible portrait of the board, newest first, after `after` (doc 98 §8.3). Same eligibility as the snapshot's `spotlight`.
The screen preview — exactly what the board's screen link returns (feed.view)
The same presenter as `/api/live/{token}/feed` (doc 98 §5.4): only shown items, the pause, the privacy filter, the pins and the public spotlight. Unlike the link it answers for a board that is off or outside its date window, so a screen can be previewed before the event.
The screen preview's portrait rotation — the screen's own (feed.view)
The screen preview's portrait rotation — the screen's own (feed.view)
Issue or regenerate the board's kiosk link (feed.manage)
The previous link, if any, stops working at once.
Set or clear the link's expiry without replacing the link (feed.manage)
Set or clear the link's expiry without replacing the link (feed.manage)
Revoke the board's kiosk link (feed.manage)
Revoke the board's kiosk link (feed.manage)
Freeze the screens on what they show (feed.manage)
Freeze the screens on what they show (feed.manage)
Let the screens move again (feed.manage)
Let the screens move again (feed.manage)
Pin or unpin an item at the top of the wall, or clear every pin (feed.manage)
Several items may be pinned, up to the board's `settings.max_pins` (doc 98 §5.3). Pinning one more when the board is full unpins the oldest pin, named in `evicted_item_ids`. `pinned: false` unpins `item_id`; `item_id: null` clears every pin.
Re-run moderation for items held because it could not run (feed.manage)
Every item on the board held with `moderation.verdict = error` — or
Approve, hide, unhide, highlight or unhighlight one item (feed.manage)
Approve, hide, unhide, highlight or unhighlight one item (feed.manage)
A board through its kiosk link (no auth, read-only, rate-limited)
What a screen shows (doc 98): shown items only, every filter applied on the server; while the board is paused, only what was on screen at the pause. With `since`, items that left the public set come back as `{id, removed: true}`. Unknown, revoked and expired links answer 404. `board.channel` names the PUBLIC realtime channel whose `feed.changed` event (no content) means 'poll now'.
A screen's portrait rotation, a page at a time (no auth, rate-limited)
The snapshot's `spotlight.items` carries only the newest portraits; when `spotlight.more` is true the screen walks EVERY eligible portrait of the campaign here, a few at a time, newest first (doc 98 §8.3). Each item has its own `cursor`; `next` is null at the oldest, and the screen starts again from the newest. Eligibility is re-checked on every read: consent, delivered, result stored, moderation, not hidden.
A members-only screen's portrait rotation (signed-in member with feed.view)
A members-only screen's portrait rotation (signed-in member with feed.view)
A members-only board's screen (signed-in member with feed.view)
The same public snapshot as `/api/live/{token}/feed`, for a board whose access is `members_only` (or `public_link`). The caller must belong to the board's own workspace; a link of another workspace answers 404.