# Method: partners.devices.updateMetadataAsync

- [HTTP request](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#body.request_body)
  - [JSON representation](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#body.response_body)
- [Authorization Scopes](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#body.aspect)
- [UpdateMetadataArguments](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#UpdateMetadataArguments)
  - [JSON representation](https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#UpdateMetadataArguments.SCHEMA_REPRESENTATION)

Updates the reseller metadata attached to a batch of devices. This method updates devices asynchronously and returns an `Operation` that can be used to track progress. Read [Long‑running batch operations](https://developers.google.com/zero-touch/guides/how-it-works#operations).

### HTTP request

`POST https://androiddeviceprovisioning.googleapis.com/v1/partners/{partnerId}/devices:updateMetadataAsync`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `partnerId` | `string (https://developers.google.com/discovery/v1/type-format format)` Required. The reseller partner ID. |

### Request body

The request body contains data with the following structure:

| JSON representation ||
|---|---|
| ``` { "updates": [ { object (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#UpdateMetadataArguments`) } ] } ``` |

| Fields ||
|---|---|
| `updates[]` | ``object (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices/updateMetadataAsync#UpdateMetadataArguments`)`` Required. The list of metadata updates. |

### Response body

If successful, the response body contains an instance of `https://developers.google.com/zero-touch/reference/reseller/rest/v1/operations#Operation`.

### Authorization Scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/androidworkprovisioning`

For more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2).

## UpdateMetadataArguments

Identifies metadata updates to one device.

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

| Fields ||
|---|---|---|
| `deviceMetadata` | ``object (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceMetadata`)`` Required. The metadata to update. |
| Union field `device`. Required. The device to update. `device` can be only one of the following: |||
| `deviceIdentifier` | ``object (`https://developers.google.com/zero-touch/reference/reseller/rest/v1/partners.devices#DeviceIdentifier`)`` Required. Device identifier. |
| `deviceId` | `string (https://developers.google.com/discovery/v1/type-format format)` Required. Device ID of the device. |