Devices
Tools for managing devices (players) registered to the Revel Digital account. Each device represents a physical display player (Android, Chrome OS, Windows, Linux, or BrightSign) that renders scheduled content.
list_devices
List devices registered to the account. Returns device objects with id, name, registration key, device type, group assignment, online status, and current schedule.
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id |
string or string[] | No | Filter by device group ID(s) |
group_name |
string or string[] | No | Filter by device group name(s) |
device_type_id |
string | No | Filter by device type ID |
is_online |
boolean | No | Filter by online status |
include_snap |
boolean | No | Include latest screenshot data (default: false) |
org_id |
string | No | Filter by organization ID (multi-org accounts) |
take |
number | No | Results per page |
page |
number | No | Page number (1-based) |
get_device
Get detailed information about a single device by its registration key. Returns the device’s name, type, group assignment, current schedule, online status, last check-in time, IP address, and firmware version.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | The device registration key |
create_device
Register a new device in Revel Digital. Typically devices self-register via the player application, but this allows pre-provisioning a device entry.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | No | Display name for the device |
device_type_id |
string | No | Device type ID (Android, ChromeOS, Windows, etc.) |
group_id |
string | No | Device group ID to assign to |
activation_code |
string | No | Activation code for pairing with a physical player |
update_device
Update a device’s properties via the GraphQL updateDevice mutation. Partial update: fields you omit are left unchanged; passing an explicit null clears the field (only notes, screenOrientation, isAudioEnabled, isOutdoor and location.venueId can be cleared). Returns the updated device.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | The device ID (registration key) |
name |
string | No | Device name |
groupId |
string | No | Device group ID to move the device into |
tags |
string[] | No | Replaces the device’s full tag list (sent newline-delimited, as the API stores it) |
timeZone |
string | No | Windows or IANA time zone id |
languageCode |
string | No | Language code |
lastService |
string | No | Last service date (ISO 8601) |
macAddress |
string | No | MAC address |
serialNumber |
string | No | Serial number |
notes |
string | null | No | Free-form notes; null clears |
screenOrientation |
0 | 90 | 180 | 270 | null | No | Screen rotation in degrees; null = not stated |
isAudioEnabled |
boolean | null | No | Whether the screen can play audible audio; null = not stated (never treated as false) |
isOutdoor |
boolean | null | No | Whether the screen is deployed outdoors; null = not stated |
location |
object | No | { address, city, state, county, country, postalCode, latitude, longitude, venueId } |
location.venueId is the OpenOOH venue type id (e.g. 10101 = airport arrival hall), used to build OpenRTB 2.6 bid requests. It is the only supported way to read or set the venue — the legacy venue:{id} device tag is no longer interpreted. Pass null to clear it.
To assign a schedule to a device, use update_schedule — schedules own their device targets.
Example — move a display to a group and mark it as an outdoor, audio-capable airport screen:
{
"id": "<device-id>",
"groupId": "<group-id>",
"isOutdoor": true,
"isAudioEnabled": true,
"location": { "venueId": 10101 }
}
delete_device
Permanently delete a device registration from the account. This action cannot be undone. The physical player will need to re-register if it connects again.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | The device registration key |
send_device_command
Send a remote command to a specific device. Commands are processed asynchronously and execute on the device’s next check-in.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | The device registration key |
command |
string | Yes | One of: reboot, screenshot, restart-player, clear-cache |
Supported commands:
| Command | Description |
|---|---|
reboot |
Restart the operating system |
screenshot |
Capture the current display |
restart-player |
Restart the player application only |
clear-cache |
Clear local media cache, forcing re-download |
bulk_send_device_commands
Send commands to multiple devices simultaneously. Useful for fleet-wide operations.
| Parameter | Type | Required | Description |
|---|---|---|---|
commands |
array | Yes | Array of { id, command } objects |
get_device_snapshot
Retrieve the latest screenshot for a device showing what is currently displayed.
| Parameter | Type | Required | Description |
|---|---|---|---|
registrationKey |
string | Yes | The device registration key |
base64 |
boolean | No | Return as base64 string instead of binary (default: false) |