# REST Resource: partners.devices

- [Resource: Device](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#Device)
  - [JSON representation](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#Device.SCHEMA_REPRESENTATION)
- [DeviceIdentifier](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceIdentifier)
  - [JSON representation](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceIdentifier.SCHEMA_REPRESENTATION)
- [DeviceType](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceType)
- [DeviceMetadata](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceMetadata)
  - [JSON representation](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceMetadata.SCHEMA_REPRESENTATION)
- [DeviceClaim](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceClaim)
  - [JSON representation](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceClaim.SCHEMA_REPRESENTATION)
- [DeviceProvisioningSectionType](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceProvisioningSectionType)
- [AdditionalService](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#AdditionalService)
- [Methods](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.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/reseller/rest/v1/partners.devices#DeviceIdentifier`) }, "name": string, "deviceMetadata": { object (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceMetadata`) }, "claims": [ { object (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceClaim`) } ] } ``` |

| 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/reseller/rest/v1/partners.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 `partners/[PARTNER_ID]/devices/[DEVICE_ID]`. Assigned by the server. |
| `deviceMetadata` | ``object (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceMetadata`)`` The metadata attached to the device. Structured as key-value pairs. To learn more, read [Device metadata](https://developers.google.com/zero-touch/guides/metadata). |
| `claims[]` | ``object (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.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 `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/unclaim#google.android.device.provisioning.v1.DeviceProvisioningPartnerService.UnclaimDevice` or `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/unclaimAsync#google.android.device.provisioning.v1.DeviceProvisioningPartnerService.UnclaimDevices` to remove the device from zero-touch enrollment. |

## 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/reseller/rest/v1/partners.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/reseller/rest/v1/partners.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/reseller/rest/v1/partners.devices#DeviceProvisioningSectionType`), "ownerCompanyId": string, "googleWorkspaceCustomerId": string, "resellerId": string, "additionalService": enum (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#AdditionalService`) } ``` |

| Fields ||
|---|---|
| `sectionType` | ``enum (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.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. |
| `resellerId` | `string (https://developers.google.com/discovery/v1/type-format format)` The ID of the reseller that claimed the device. |
| `additionalService` | ``enum (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.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/reseller/rest/v1/partners.devices/claim` | Claims a device for a customer and adds it to zero-touch enrollment. |
| ### `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/claimAsync` | Claims a batch of devices for a customer asynchronously. |
| ### `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/findByIdentifier` | Finds devices by hardware identifiers, such as IMEI. |
| ### `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/findByOwner` | Finds devices claimed for customers. |
| ### `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/get` | Gets a device. |
| ### `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/metadata` | Updates reseller metadata associated with the device. |
| ### `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/unclaim` | Unclaims a device from a customer and removes it from zero-touch enrollment. |
| ### `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/unclaimAsync` | Unclaims a batch of devices for a customer asynchronously. |
| ### `https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync` | Updates the reseller metadata attached to a batch of devices. |