Skip to content
Knowledge base
Open dashboard
UAEN
ReferenceUpdated 02/11/2026

Screens: reading, schedule, statuses

Endpoints of the point controller: screen list and card, daily schedule, content assignment, screen capture, device control, networks.

Checked on the current dashboard version

The point controller reads the state of every screenA device running the Advision player that shows content; the cabinet calls it a media device. (online, sync, player version, assigned content), returns the second-by-second daily schedule, requests a capture from the screenA device running the Advision player that shows content; the cabinet calls it a media device. and changes settings or content. All examples assume the base URL http://api.advision.digital and the header Authorization: Bearer $ADV_T. A screenA device running the Advision player that shows content; the cabinet calls it a media device. is called a point in the API; its content binding lives in the playlistGroups field.

Method and path

What it does

Important

GET /point?itemsPerPage=9999

List of all screens in the cabinet

Response key is points, not data; without itemsPerPage only the first page comes back

GET /point/<POINT_ID>

One screenA device running the Advision player that shows content; the cabinet calls it a media device. with its full content

playlistGroups per channel, windows in screenA device running the Advision player that shows content; the cabinet calls it a media device..windows, player settings in config

GET /point/get-daily-schedule?id=<POINT_ID>&channel=0&date=YYYYMMDD

Second-by-second daily schedule for a channel

Date as a number YYYYMMDD; the only way to verify planning before the device syncs

POST /point/patch/<POINT_ID>

Change screenA device running the Advision player that shows content; the cabinet calls it a media device. settings or content

Accepts a partial body, but playlistGroups is overwritten entirely

POST /point/patch-many

Bulk change of screens

Body format not verified

POST /point/post

Create a screenA device running the Advision player that shows content; the cabinet calls it a media device. record without a device: {"name": "...", "timezone": "Europe/Kiev"}

Record with isOnline:false; the player code is entered later in the cabinet. Verified 29.10.2026

GET /point/ajax-get-point-screenA device running the Advision player that shows content; the cabinet calls it a media device.?pointId=<POINT_ID>

Request a fresh capture from the screenA device running the Advision player that shows content; the cabinet calls it a media device.

The parameter is pointId; the response is ["pending"], the capture is ready in 5–10 s

GET /point/get-screenshot-url?pointId=<POINT_ID>

Link to the latest capture {"url": "..."}

204 if there is no capture yet; the image is about 320 px on the long side

GET /point/get-log/<POINT_ID>

Device state log

Same as the «Log» tab in the cabinet

POST /point/send-reload

Restart the player app

Body format not verified

POST /point/send-reboot

Reboot the device

Body format not verified

POST /point/change-broadcasting-state

Stop or start playback

Body format not verified; the current state is in the isStoped field

GET /net?itemsPerPage=100

Networks (screenA device running the Advision player that shows content; the cabinet calls it a media device. groups)

Key nets: hash, color, default_channel, points[]

GET /dashboard

Summary: points{total,syncing,notSynced,offline,screensForCharge}

The cheapest way to see how many screens are offline

Screen list and statuses

Request: curl -s -H "Authorization: Bearer $ADV_T" "http://api.advision.digital/point?itemsPerPage=9999"

Python: pts = c.get("/point", params={"itemsPerPage": 9999}).json()["points"]; offline = [p["name"] for p in pts if not p["isOnline"]]

Field

Type

Meaning

id, name, uid

number, string, string

Identifier, name and device code

isOnline

boolean

The device is connected to the server

isOnlineByStats

boolean

Online judged by incoming statistics (not verified, the field is present in the response)

isStoped

boolean

Playback stopped by a manager: the screenA device running the Advision player that shows content; the cabinet calls it a media device. is online but shows nothing

syncTime

datetime

Last device sync; if earlier than your change, the change has not arrived yet

isStatsDisabled

boolean

Statistics are not collected for this screenA device running the Advision player that shows content; the cabinet calls it a media device.

version, os, device

string

Player version, OS and device model

timezone

string

Time zone, for example Europe/Kiev

license, licenseExpiresAt

string, datetime

Device plan, for example FREE

broadcastFromTime, broadcastToTime

time

Working hours of the screenA device running the Advision player that shows content; the cabinet calls it a media device.

transitionDuration, loopDuration

number

Transition and loop duration

spaceAvaliable

number

Free space on the device (the field is spelled exactly like this)

config

string

Player service settings as a query string

playlistGroups

array

Content per channel: channel, files[] (all-day background), playlists[]

screenA device running the Advision player that shows content; the cabinet calls it a media device..windows

array

Player windows: channel, width, height, top, left, volume

Daily schedule

Request: curl -s -H "Authorization: Bearer $ADV_T" "http://api.advision.digital/point/get-daily-schedule?id=<POINT_ID>&channel=0&date=20261001"

The response has a schedule key: each item contains start and end in seconds from 00:00, fileId, fileName, the playlistA set of files with a playback schedule that is assigned to screens or networks. name and periodicity. For ADVERTISING playlists periodicity is the interval between insert starts. Pass the date as a number YYYYMMDD: the error text mentions YYYY/mm/dd, but that is wrong. Expired playlists do not appear in the schedule.

Assign content with point/patch

The safer way to bind a playlistA set of files with a playback schedule that is assigned to screens or networks. to screens is described in the playlists reference: the points field in playlistA set of files with a playback schedule that is assigned to screens or networks./patch. point/patch is needed only when content must go to a channel other than 0 or the all-day background must change.

Order: GET /point/<POINT_ID> → take the current playlistGroups → add your playlistA set of files with a playback schedule that is assigned to screens or networks. to the right group → POST /point/patch/<POINT_ID> with the full array of groups → re-read the screenA device running the Advision player that shows content; the cabinet calls it a media device. and make sure no groups were lost.

Body: {"playlistGroups": [{"channel": 0, "files": [{"id": <FILE_ID>, "duration": 10}], "playlists": [{"id": <PLAYLISTA set of files with a playback schedule that is assigned to screens or networks._ID>}]}]}

Field

Type

Required

Note

playlistGroups[].channel

number

yes

ScreenA device running the Advision player that shows content; the cabinet calls it a media device. channel (windowA zone of the screen (A to G) with its own size, position and playlists.), usually 0

playlistGroups[].files[].id

number

yes

All-day background file

playlistGroups[].files[].duration

number

yes

Without it 500 Undefined index: duration, and the screenA device running the Advision player that shows content; the cabinet calls it a media device. may be left with empty groups

playlistGroups[].playlists[].id

number

yes

PlaylistA set of files with a playback schedule that is assigned to screens or networks. with its own schedule

playlistGroups[].playlists[].plugins[].isActive

boolean

yes, if plugins are present

Plugins travel with the group; without isActive the request fails

Screen settings

A partial body without playlistGroups changes only the fields you send and leaves content untouched: curl -s -X POST -H "Authorization: Bearer $ADV_T" -H "Content-Type: application/json" -d '{"broadcastFromTime": "09:00:00", "broadcastToTime": "22:30:00"}' http://api.advision.digital/point/patch/<POINT_ID>

transitionDuration, loopDuration, timezone and config change the same way. Renaming a screenA device running the Advision player that shows content; the cabinet calls it a media device., deleting it or entering the player code is not possible via API: do it in the cabinet.

Screen capture

Two requests: GET /point/ajax-get-point-screenA device running the Advision player that shows content; the cabinet calls it a media device.?pointId=<POINT_ID> orders a capture and answers ["pending"]; 5–10 s later GET /point/get-screenshot-url?pointId=<POINT_ID> returns {"url": "..."}. A flat single-color image of a few hundred bytes means the panel shows nothing; compare with a neighbouring screenA device running the Advision player that shows content; the cabinet calls it a media device. and with playback statistics.