# DeviceReference

- [JSON representation](https://developers.google.com/zero-touch/reference/customer/rest/v1/DeviceReference#SCHEMA_REPRESENTATION)

A `DeviceReference` is an API abstraction that lets you supply a *device* argument to a method using one of the following identifier types:

- A numeric API resource ID.
- Real-world hardware IDs, such as IMEI number, belonging to the manufactured device.

Methods that operate on devices take a `DeviceReference` as a parameter type because it's more flexible for the caller. To learn more about device identifiers, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers).

| JSON representation ||
|---|---|
| ``` { // Union field `device` can be only one of the following: "deviceId": string, "deviceIdentifier": { object (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceIdentifier`) } // End of list of possible types for union field `device`. } ``` |

| Fields ||
|---|---|---|
| Union field `device`. Required. The unique identifier for the device. `device` can be only one of the following: |||
| `deviceId` | `string (https://developers.google.com/discovery/v1/type-format format)` The ID of the device. |
| `deviceIdentifier` | ``object (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceIdentifier`)`` The hardware IDs of the device. |