---
title: "Gets a device by ID."
method: GET
path: "/devices/{id}"
tags: ["Devices"]
---

# Gets a device by ID.

`GET /devices/{id}`

## Request

- Base URL: `https://api.reveldigital.com`
- URL: `https://api.reveldigital.com/devices/{id}`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.reveldigital.com/connect/authorize`
    - Token URL: `https://id.reveldigital.com/connect/token` scopes: `webapi`
  - API key in header `X-RevelDigital-ApiKey`
  - API key in query parameter `api_key`
- TypeScript: <https://skmtc.dev/reveldigital/apis/revel-digital-rest-api/docs/devices/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `id` string, required

## Response `200`

OK

- Device: Represents a digital signage player device in the RevelDigital platform. A device is a registered hardware unit that displays content according to assigned schedules and templates.
  - `id` string, nullable: The device id
  - `name` string, nullable: The device name
  - `group_name` string, nullable: The group name
  - `group_id` string, nullable: The group id
  - `tags` string, nullable: Tags associated with this device
  - `device_type` DeviceType: Represents a device type classification in the RevelDigital digital signage platform. This DTO defines the hardware type and capabilities of a digital signage player device. Device types are used to categorize devices by their manufacturer and supported features.
    - `id` string, nullable: The unique identifier for the device type. This is typically a string-based key used to reference the device type across the platform.
    - `name` string, nullable: The display name of the device type. Examples include model names or product line identifiers (e.g., "BrightSign HD", "Samsung Tizen", "LG webOS").
    - `manufacturer` string, nullable: The manufacturer or vendor of the device type. Examples include "BrightSign", "Samsung", "LG", "Android", etc.
    - `device_caps` integer, nullable: A bitmask representing the capabilities supported by this device type. Null indicates capabilities have not been defined for this device type.
  - `entered_service` string, date-time, nullable: The date the device was registered
  - `last_service` string, date-time, nullable: The last service date
  - `timezone` string, nullable: The timezone of the device
  - `language_code` string, nullable: The language code of the device
  - `last_update` string, date-time, nullable: The timestamp of the last content sync with the server
  - `location` Location
    - `city` string, nullable: City
    - `state` string, nullable: State
    - `county` string, nullable: County
    - `country` string, nullable: Country
    - `postal_code` string, nullable: Postal code
    - `address` string, nullable: Address
    - `latitude` number, double, nullable: Latitude
    - `longitude` number, double, nullable: Longitude
    - `venue_id` integer, nullable: The OpenOOH venue type id describing how this screen is deployed, e.g. 10101 for an airport arrival hall. Used to build OpenRTB 2.6 bid requests. This replaces the deprecated "venue:{id}" device tag. This field is the only supported way to read or set the venue; venue tags are no longer interpreted. A null value means the venue is not stated, and setting null explicitly clears it.
  - `ping_data` PingData
    - `type` string, nullable: Ping type
    - `snap` string, byte, nullable: Snapshot (screenshot) of live player content
    - `player_version` string, nullable: Player version number
    - `os_version` string, nullable: Player OS version
    - `cpu_usage` number, float: CPU usage (percentage) Value range [0, 100]
    - `memory_usage` number, float: Memory usage (percentage) Value range [0, 100]
    - `mac_address` string, nullable: MAC address of primary player network interface
    - `disk_usage` number, float: Disk usage (percentage) Value range [0, 100]
    - `timestamp` string, date-time: Timestamp of this ping. Device is considered offline if this timestamp is older than 10 minutes
    - `bytes_received` integer: Bytes recieved by this player
    - `transfer_rate` integer: Current transfer rate over the primary network interface
    - `ip_address` string, nullable: IP address of the primary network interface
    - `latitude` number, double, nullable: Current location of the player (latitude)
    - `longitude` number, double, nullable: Current location of the player (longitude)
    - `current_schedule` string, nullable: Currently running schedule
    - `uptime` integer, nullable: Current uptime of the player (milliseconds)
    - `external_ip_address` string, nullable: IP address as seen by the server for this device
    - `download_pct_complete` integer, nullable: Package download progress (percentage)
    - `meta` object, nullable: Dictionary of meta data
    - `cpu_temperature` number, float, nullable: Current CPU temperature
  - `registration_key` string, nullable: The device registration key
  - `encrypted_registration_key` string, nullable: The encrypted registration key
  - `mac_address` string, nullable: The device MAC address, if applicable
  - `beacon` Beacon: Represents Bluetooth Low Energy (BLE) beacon configuration for a device. Beacons enable proximity-based interactions, allowing mobile devices to detect nearby digital signage and trigger location-aware content or notifications.
    - `distance` number, double, nullable: The detection distance threshold in meters. Mobile devices within this range will receive beacon notifications.
    - `calibration` number, double, nullable: The RSSI calibration value (measured power at 1 meter) used for distance estimation. This value is typically negative (e.g., -59 dBm) and device-specific. Accurate calibration improves proximity zone detection accuracy.
    - `phone` string, nullable: Contact phone number associated with this beacon location. Displayed to users who interact with the beacon via mobile app.
    - `emailAddress` string, nullable: Contact email address associated with this beacon location. Displayed to users who interact with the beacon via mobile app.
    - `website` string, nullable: Website URL associated with this beacon location. Can be opened by mobile app when user interacts with beacon notification.
    - `devices` string[], nullable: List of device IDs associated with this beacon configuration. Used for grouping multiple devices that share the same beacon identity.
    - `rating` number, double, nullable: Rating value for this beacon location (e.g., customer rating, priority score). Can be used to rank or filter beacon-triggered content.
    - `uuid` string, nullable: The iBeacon UUID (Universally Unique Identifier). A 128-bit identifier typically shared by all beacons in an organization. Format: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
    - `major` string, nullable: The iBeacon Major value (0-65535). Typically used to identify a specific location or venue within an organization.
    - `minor` string, nullable: The iBeacon Minor value (0-65535). Typically used to identify a specific beacon within a location.
    - `notification_delay` integer, nullable: Delay in seconds before sending a notification after beacon detection. Prevents notification spam when users briefly pass by a beacon. A value of 0 or null means immediate notification.
    - `instance_id` string, nullable: The Eddystone Instance ID (6 bytes, 12 hex characters). Identifies a specific beacon within an Eddystone namespace.
    - `namespace` string, nullable: The Eddystone Namespace ID (10 bytes, 20 hex characters). Typically derived from a domain name or organization identifier.
  - `service_level` string, nullable: The device service level
  - `in_sync` boolean: Is the device content in sync with server
  - `serial_number` string, nullable: The device serial number
  - `model` string, nullable: The device hardware model
  - `deactivated` boolean, nullable: Is the device deactivated
  - `notes` string, nullable: The device notes
  - `is_online` boolean: Is the device currently online. A device is considered online if it has a timestamp within the last 5 minutes
  - `screen_orientation` integer, nullable: Degrees of screen rotation. One of 0, 90, 180 or 270. A null value means the orientation is not stated.
  - `is_audio_enabled` boolean, nullable: Whether the screen can play audible audio. A null value means this is not stated, and is never treated as false.
  - `is_outdoor` boolean, nullable: Whether the screen is deployed outdoors. A null value means this is not stated, and is never treated as false.

## Changes

- **2026-10-02** `39d5c8302822`: 1 info
  - added the optional property `model` to the response with the `200` status
- **2026-09-17** `0c4ba3fb6d1a`: 4 info
  - added the optional property `is_audio_enabled` to the response with the `200` status
  - added the optional property `is_outdoor` to the response with the `200` status
  - added the optional property `location/venue_id` to the response with the `200` status
  - added the optional property `screen_orientation` to the response with the `200` status

[Operation history](https://skmtc.dev/reveldigital/apis/revel-digital-rest-api/changes/devices/:id/get.md)

---

[API](https://skmtc.dev/reveldigital/apis/revel-digital-rest-api.md) - [All operations](https://skmtc.dev/reveldigital/apis/revel-digital-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/reveldigital/apis/revel-digital-rest-api/revisions/39d5c8302822?raw)
