APIHub
Back to Explore

Android Device Provisioning Partner API

The Android Device Provisioning Partner API lets reseller partners and vendors manage zero‑touch enrollment for Android devices, including claiming and un‑claiming devices, updating reseller metadata, creating and applying configurations, and managing customers, vendors, and device‑policy controllers.

Analytics
none
HTTPS
CORS: Unknown
Description enriched
Visit official documentation

Latency

290ms p95

Uptime

100.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
GET

/v1/customers

Lists the user's customer accounts.

  • pageSize (query, limit) — The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive).
  • pageToken (query) — A token specifying which result page to return. This field has custom validations in ListCustomersRequestValidator
POST

/v1/partners/{metadataOwnerId}/devices/{deviceId}/metadata

Updates reseller metadata associated with the device. Android devices only.

  • metadataOwnerId (path, required) — Required. The owner of the newly set metadata. Set this to the partner ID.
  • deviceId (path, required) — Required. The ID of the device.
GET

/v1/partners/{partnerId}/customers

Lists the customers that are enrolled to the reseller identified by the `partnerId` argument. This list includes customers that the reseller created and customers that enrolled themselves using the portal.

  • partnerId (path, required) — Required. The ID of the reseller partner.
  • pageSize (query, limit) — The maximum number of results to be returned. If not specified or 0, all the records are returned.
  • pageToken (query) — A token identifying a page of results returned by the server.
POST

/v1/partners/{partnerId}/devices:claim

Claims a device for a customer and adds it to zero-touch enrollment. If the device is already claimed by another customer, the call returns an error.

  • partnerId (path, required) — Required. The ID of the reseller partner.
POST

/v1/partners/{partnerId}/devices:claimAsync

Claims a batch of devices for a customer asynchronously. Adds the devices to zero-touch enrollment. To learn more, read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).

  • partnerId (path, required) — Required. The ID of the reseller partner.
POST

/v1/partners/{partnerId}/devices:findByIdentifier

Finds devices by hardware identifiers, such as IMEI.

  • partnerId (path, required) — Required. The ID of the reseller partner.
POST

/v1/partners/{partnerId}/devices:findByOwner

Finds devices claimed for customers. The results only contain devices registered to the reseller that's identified by the `partnerId` argument. The customer's devices purchased from other resellers don't appear in the results.

  • partnerId (path, required) — Required. The ID of the reseller partner.
POST

/v1/partners/{partnerId}/devices:unclaim

Unclaims a device from a customer and removes it from zero-touch enrollment.

  • partnerId (path, required) — Required. The ID of the reseller partner.
POST

/v1/partners/{partnerId}/devices:unclaimAsync

Unclaims a batch of devices for a customer asynchronously. Removes the devices from zero-touch enrollment. To learn more, read [Long‑running batch operations](/zero-touch/guides/how-it-works#operations).

  • partnerId (path, required) — Required. The reseller partner ID.
POST

/v1/partners/{partnerId}/devices:updateMetadataAsync

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](/zero-touch/guides/how-it-works#operations). Android Devices only.

  • partnerId (path, required) — Required. The reseller partner ID.
DELETE

/v1/{name}

Deletes an unused configuration. The API call fails if the customer has devices with the configuration applied.

  • name (path, required) — Required. The configuration to delete. An API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. If the configuration is applied to any devices, the API call fails.
GET

/v1/{name}

Gets a device.

  • name (path, required) — Required. The device API resource name in the format `partners/[PARTNER_ID]/devices/[DEVICE_ID]`.
PATCH

/v1/{name}

Updates a configuration's field values.

  • name (path, required) — Output only. The API resource name in the format `customers/[CUSTOMER_ID]/configurations/[CONFIGURATION_ID]`. Assigned by the server.
  • updateMask (query) — Required. The field mask applied to the target `Configuration` before updating the fields. To learn more about using field masks, read [FieldMask](/protocol-buffers/docs/reference/google.protobuf#fieldmask) in the Protocol Buffers documentation.
GET

/v1/{parent}/configurations

Lists a customer's configurations.

  • parent (path, required) — Required. The customer that manages the listed configurations. An API resource name in the format `customers/[CUSTOMER_ID]`.
POST

/v1/{parent}/configurations

Creates a new configuration. Once created, a customer can apply the configuration to devices.

  • parent (path, required) — Required. The customer that manages the configuration. An API resource name in the format `customers/[CUSTOMER_ID]`. This field has custom validation in CreateConfigurationRequestValidator
GET

/v1/{parent}/customers

Lists the customers of the vendor.

  • parent (path, required) — Required. The resource name in the format `partners/[PARTNER_ID]/vendors/[VENDOR_ID]`.
  • pageSize (query, limit) — The maximum number of results to be returned.
  • pageToken (query) — A token identifying a page of results returned by the server.
POST

/v1/{parent}/customers

Creates a customer for zero-touch enrollment. After the method returns successfully, admin and owner roles can manage devices and EMM configs by calling API methods or using their zero-touch enrollment portal. The customer receives an email that welcomes them to zero-touch enrollment and explains how to sign into the portal.

  • parent (path, required) — Required. The parent resource ID in the format `partners/[PARTNER_ID]` that identifies the reseller.
GET

/v1/{parent}/devices

Lists a customer's devices.

  • parent (path, required) — Required. The customer managing the devices. An API resource name in the format `customers/[CUSTOMER_ID]`.
  • pageSize (query, limit) — The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive.
  • pageToken (query) — A token specifying which result page to return.
POST

/v1/{parent}/devices:applyConfiguration

Applies a Configuration to the device to register the device for zero-touch enrollment. After applying a configuration to a device, the device automatically provisions itself on first boot, or next factory reset.

  • parent (path, required) — Required. The customer managing the device. An API resource name in the format `customers/[CUSTOMER_ID]`.
POST

/v1/{parent}/devices:removeConfiguration

Removes a configuration from device.

  • parent (path, required) — Required. The customer managing the device in the format `customers/[CUSTOMER_ID]`.
POST

/v1/{parent}/devices:unclaim

Unclaims a device from a customer and removes it from zero-touch enrollment. After removing a device, a customer must contact their reseller to register the device into zero-touch enrollment again.

  • parent (path, required) — Required. The customer managing the device. An API resource name in the format `customers/[CUSTOMER_ID]`.
GET

/v1/{parent}/dpcs

Lists the DPCs (device policy controllers) that support zero-touch enrollment.

  • parent (path, required) — Required. The customer that can use the DPCs in configurations. An API resource name in the format `customers/[CUSTOMER_ID]`.
GET

/v1/{parent}/vendors

Lists the vendors of the partner.

  • parent (path, required) — Required. The resource name in the format `partners/[PARTNER_ID]`.
  • pageSize (query, limit) — The maximum number of results to be returned.
  • pageToken (query) — A token identifying a page of results returned by the server.

23 endpoints auto-detected

curl -X GET \
  "https://androiddeviceprovisioning.googleapis.com/v1/customers"

androiddeviceprovisioning.googleapis.com · HTTPS only