Screens from your own code
ProList screens, choose what each plays, take one over with Show it now, and read their health.
You need a key that can do Screens. It can’t pair or unpair TVs; those stay in the console.
List and read
curl https://dqeiiqecdxqguwrilond.supabase.co/functions/v1/api/v1/screens \
-H "Authorization: Bearer dsk_YOUR_KEY"GET /screens(add?location_id=for one location) andGET /screens/SCREEN_ID:id,name,rotation,location,last_seen_at, andcontent, what it plays now.- A screen is online when
last_seen_atis within the last 12 minutes. GET /locations,/playlists,/signs,/tagsand/walls: to find the ids to choose from.GET /health: every screen with its downloads and free space, and the offline and stuck alerts of the last 30 days.
Choose what a screen plays
curl -X PUT https://dqeiiqecdxqguwrilond.supabase.co/functions/v1/api/v1/screens/SCREEN_ID/content \
-H "Authorization: Bearer dsk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "playlist", "playlist_id": "PLAYLIST_ID"}'The body is one of {"type": "playlist", "playlist_id"}, {"type": "sign", "sign_id"}, {"type": "media", "media_id", "fit": "fit"} (or "fill") or {"type": "nothing"}. The TV changes within seconds, once the files are downloaded. PATCH /screens/SCREEN_ID renames it (name) or sets how it’s mounted (rotation: 0, 90, 180 or 270).
Show it now
curl -X PUT https://dqeiiqecdxqguwrilond.supabase.co/functions/v1/api/v1/screens/SCREEN_ID/show-now \
-H "Authorization: Bearer dsk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "sign", "sign_id": "SIGN_ID", "minutes": 30}'Takes the screen over for minutes (up to 1,440), or until stopped with null; then it goes back to its own content. DELETE /screens/SCREEN_ID/show-now stops it early.
POST /screens/SCREEN_ID/resync asks the TV to check in now (answers 202). TVs are told about every change anyway, so you rarely need it.
Thanks for telling us. If something’s missing, tell us what and we’ll add it.
Still stuck?
Email support@dislab.app, or send us a message. If it’s about a screen, tell us its name. We answer within one business day.