---
title: "Updates a device."
method: PUT
path: "/devices/{id}"
tags: ["Devices"]
---

# Updates a device.

`PUT /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/put.ts> (a function with typed inputs; its response is checked against the schema)

Notes, the DOOH screen attributes (screen_orientation, is_audio_enabled, is_outdoor)
and location.venue_id are applied exactly as supplied, so omitting one or sending null
clears it back to "not stated". The other optional fields keep their existing value
when omitted.
            
Venue is set through location.venue_id. The legacy "venue:{id}" tag is deprecated: it
is no longer read or written, and tagging a device will not change its venue.

## Path parameters

- `id` string, required

## Request body

- DeviceRequest: Request model used for creating and updating devices in the RevelDigital platform. Contains the mutable properties that can be set when registering or modifying a device.
  - `name` string, nullable: The device name
  - `tags` string, nullable: Tags associated with this device
  - `timeZone` string, nullable: The timezone of the device
  - `language_code` string, nullable: The language code of the device
  - `group_id` string, nullable: The group id
  - `last_service` string, date-time, nullable: The last service date
  - `mac_address` string, nullable: The MAC address of this device, is applicable
  - `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.
  - `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.
  - `notes` string, nullable: Free-form notes associated with this device.
  - `serial_number` string, nullable: The device serial number
  - `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. This is distinct from the configured volume: a screen may have a volume set but no speakers, or sit where audio is not permitted. 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.

## Response `204`

No Content

## Other responses

- `400`: Bad Request

## Changes

- **2026-09-17** `0c4ba3fb6d1a`: 6 info
  - added the new optional request property `is_audio_enabled`
  - added the new optional request property `is_outdoor`
  - added the new optional request property `location/venue_id`
  - added the new optional request property `notes`
  - …2 more

[Operation history](https://skmtc.dev/reveldigital/apis/revel-digital-rest-api/changes/devices/:id/put.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)
