# REST Resource: customers.devices

- [Resource: Device](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#Device)
  - [JSON representation](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#Device.SCHEMA_REPRESENTATION)
- [DeviceIdentifier](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceIdentifier)
  - [JSON representation](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceIdentifier.SCHEMA_REPRESENTATION)
- [DeviceType](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceType)
- [DeviceMetadata](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceMetadata)
  - [JSON representation](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceMetadata.SCHEMA_REPRESENTATION)
- [DeviceClaim](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceClaim)
  - [JSON representation](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceClaim.SCHEMA_REPRESENTATION)
- [DeviceProvisioningSectionType](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceProvisioningSectionType)
- [AdditionalService](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#AdditionalService)
- [Methods](https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#METHODS_SUMMARY)

## Resource: Device

An Android or Chrome OS device registered for zero-touch enrollment.

| JSON representation |
|---|
| ``` { "deviceId": string, "deviceIdentifier": { object (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceIdentifier`) }, "name": string, "deviceMetadata": { object (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceMetadata`) }, "claims": [ { object (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceClaim`) } ], "configuration": string } ``` |

| Fields ||
|---|---|
| `deviceId` | `string (https://developers.google.com/discovery/v1/type-format format)` Output only. The ID of the device. Assigned by the server. |
| `deviceIdentifier` | ``object (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceIdentifier`)`` The hardware IDs that identify a manufactured device. To learn more, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers). |
| `name` | `string` Output only. The API resource name in the format `customers/[CUSTOMER_ID]/devices/[DEVICE_ID]`. Assigned by the server. |
| `deviceMetadata` | ``object (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceMetadata`)`` The metadata attached to the device. Structured as key-value pairs. |
| `claims[]` | ``object (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceClaim`)`` Output only. The provisioning claims for a device. Devices claimed for zero-touch enrollment have a claim with the type `SECTION_TYPE_ZERO_TOUCH`. Call `customers.devices.unclaim` to remove the device from zero-touch enrollment. |
| `configuration` | `string` The configuration applied to the device in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. The value is `null` if the device doesn't have a configuration applied. |

## DeviceIdentifier

Encapsulates hardware and product IDs to identify a manufactured device. To understand requirements on identifier sets, read [Identifiers](https://developers.google.com/zero-touch/guides/identifiers).

| JSON representation |
|---|
| ``` { "serialNumber": string, "manufacturer": string, "model": string, "deviceType": enum (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceType`), "chromeOsAttestedDeviceId": string, // Union field `hardware_id` can be only one of the following: "imei": string, "meid": string // End of list of possible types for union field `hardware_id`. // Union field `hardware_id2` can be only one of the following: "imei2": string, "meid2": string // End of list of possible types for union field `hardware_id2`. } ``` |

| Fields ||
|---|---|
| `serialNumber` | `string` The manufacturer's serial number for the device. This value might not be unique across different device models. |
| `manufacturer` | `string` The device manufacturer's name. Matches the device's built-in value returned from `android.os.Build.MANUFACTURER`. Allowed values are listed in [Android manufacturers](https://developers.google.com/zero-touch/resources/manufacturer-names#manufacturers-names). |
| `model` | `string` The device model's name. Allowed values are listed in [Android models](https://developers.google.com/zero-touch/resources/manufacturer-names#model-names) and [Chrome OS models](https://support.google.com/chrome/a/answer/10130175#identify_compatible). |
| `deviceType` | ``enum (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceType`)`` The type of the device |
| `chromeOsAttestedDeviceId` | `string` An identifier provided by OEMs, carried through the production and sales process. Only applicable to Chrome OS devices. |
| Union field `hardware_id`. Hardware ID based on a modem ID. `hardware_id` can be only one of the following: ||
| `imei` | `string` The device's IMEI number. Validated on input. |
| `meid` | `string` The device's MEID number. |
| Union field `hardware_id2`. The second hardware ID, for dual-SIM devices. If set, it must be the same identifier type as the first hardware ID. `hardware_id2` can be only one of the following: ||
| `imei2` | `string` The device's second IMEI number. |
| `meid2` | `string` The device's second MEID number. |

## DeviceType

The operating system of the device.

| Enums ||
|---|---|
| `DEVICE_TYPE_ANDROID` | Android device |
| `DEVICE_TYPE_CHROME_OS` | Chrome OS device |

## DeviceMetadata

Metadata entries that can be attached to a `Device`. To learn more, read [Device metadata](https://developers.google.com/zero-touch/guides/metadata).

| JSON representation |
|---|
| ``` { "entries": { string: string, ... } } ``` |

| Fields ||
|---|---|
| `entries` | `map (key: string, value: string)` Metadata entries recorded as key-value pairs. An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |

## DeviceClaim

A record of a device claimed by a reseller for a customer. Devices claimed for zero-touch enrollment have a claim with the type `SECTION_TYPE_ZERO_TOUCH`. To learn more, read [Claim devices for customers](https://developers.google.com/zero-touch/guides/how-it-works#claim).

| JSON representation |
|---|
| ``` { "sectionType": enum (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceProvisioningSectionType`), "ownerCompanyId": string, "googleWorkspaceCustomerId": string, "additionalService": enum (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#AdditionalService`) } ``` |

| Fields ||
|---|---|
| `sectionType` | ``enum (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#DeviceProvisioningSectionType`)`` Output only. The type of claim made on the device. |
| `ownerCompanyId` | `string (https://developers.google.com/discovery/v1/type-format format)` The ID of the Customer that purchased the device. |
| `googleWorkspaceCustomerId` | `string` The ID of the Google Workspace account that owns the Chrome OS device. |
| `additionalService` | ``enum (`https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices#AdditionalService`)`` The Additional service registered for the device. |

## DeviceProvisioningSectionType

The section type of a provisioning record.

| Enums ||
|---|---|
| `SECTION_TYPE_SIM_LOCK` | SIM-lock section type. |
| `SECTION_TYPE_ZERO_TOUCH` | Zero-touch enrollment section type. |

## AdditionalService

Additional service registered for the device.

| Enums ||
|---|---|
| `DEVICE_PROTECTION` | Device protection service, also known as Android Enterprise Essentials. To claim a device with the device protection service you must enroll with the partnership team. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices/applyConfiguration` | Applies a Configuration to the device to register the device for zero-touch enrollment. |
| ### `https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices/get` | Gets the details of a device. |
| ### `https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices/list` | Lists a customer's devices. |
| ### `https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices/removeConfiguration` | Removes a configuration from device. |
| ### `https://developers.google.com/zero-touch/reference/customer/rest/v1/customers.devices/unclaim` | Unclaims a device from a customer and removes it from zero-touch enrollment. |