canonical: https://jentic.com/apis/googleapis.com/androiddeviceprovisioning

# Google Android Device Provisioning Partner API

The Android Device Provisioning Partner API automates Android zero-touch enrollment for device resellers, enterprise customers, and EMM providers. Resellers use it to claim devices for customers so they can self-deploy, and customers can list, configure, and unclaim corporate-owned Android devices at scale. The API supports synchronous and asynchronous device claim operations, configuration management, and customer linkage so that thousands of devices can be staged before they are unboxed.

## For AI agents

Claim, configure, and manage Android zero-touch enrollment devices on behalf of resellers, customers, and EMMs. Useful for agents that need to onboard fleets of corporate Android phones or tablets.

## Scope

Does not handle ongoing device policy, app deployment, or end-user account management - use for zero-touch reseller and customer device claiming only.

## Capabilities

- Claim Android devices to a customer for zero-touch enrollment
- Find devices by hardware identifier (IMEI, MEID, serial) before shipment
- Apply or remove a zero-touch configuration on a claimed device
- List, create, and unlink customer accounts under a reseller partner
- Run asynchronous bulk claim and unclaim jobs against device fleets
- Inspect SIM lock state and metadata for partner-owned devices

## Use cases

### Reseller bulk device claiming

Resellers preparing a corporate Android shipment claim devices to a customer in zero-touch so the devices auto-enroll into the customer EMM on first boot. The async claim endpoint accepts large batches of IMEI or serial pairs and returns an operation handle the agent polls until completion. This eliminates manual EMM enrollment for fleets of hundreds or thousands of devices.

Example prompt: Submit a claimAsync request for 500 IMEI numbers under partner ID 1234 to customer ID 5678 and poll the returned operation until done.

### Customer device inventory and configuration

Enterprise IT teams use the customer endpoints to list every device assigned to their organization, attach a zero-touch configuration that points at their EMM, and remove devices that have left the fleet. This keeps the company's view of corporate-owned hardware in sync with what was actually shipped by resellers.

Example prompt: List all devices for customer ID 5678, then apply configuration ID 99 to every device whose configuration is currently empty.

### Pre-ship device verification

Before a reseller hands devices to the customer, an agent looks up each device by hardware identifier to confirm it is registered with the partner and not already claimed by another customer. This catches stocking errors and stops misrouted devices from blocking enrollment.

Example prompt: Call findByIdentifier with deviceIdentifier IMEI 123456789012345 under partnerId 1234 and report whether the device is unclaimed.

### AI agent device fleet management

An AI agent acting as an MDM concierge accepts a reseller invoice, extracts IMEI numbers, and runs the claim, configure, and verify steps end-to-end through Jentic. The agent searches Jentic for the claim operation, loads the schema, and executes the call without the operator writing any HTTP code.

Example prompt: Read a CSV of 100 IMEI numbers, call the claim operation for each under customer 5678, and produce a summary of successes and failures.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v1/partners/{+partnerId}/devices:claim | Claim a single device for a customer |
| POST | /v1/partners/{+partnerId}/devices:claimAsync | Claim a batch of devices asynchronously |
| POST | /v1/partners/{+partnerId}/devices:findByIdentifier | Find a device by IMEI, MEID, or serial |
| POST | /v1/partners/{+partnerId}/devices:findByOwner | Find devices by customer owner |
| GET | /v1/partners/{+partnerId}/customers | List customers under a partner |
| GET | /v1/customers | List customers visible to the caller |
| POST | /v1/partners/{+metadataOwnerId}/devices/{+deviceId}/metadata | Update device metadata |

## Key resources

- **Customers** — List, create, and manage customer organizations under a reseller partner
- **Devices** — Claim, unclaim, find, and update devices for zero-touch enrollment
- **Configurations** — Manage zero-touch configurations applied to devices on first boot
- **Operations** — Track the status of asynchronous claim and unclaim jobs

## Why Jentic

- **Setup:** Wiring the Android Device Provisioning Partner API by hand means configuring Google OAuth 2.0 for the zero-touch service account, minting short-lived scoped access tokens, and pointing calls at the androiddeviceprovisioning.googleapis.com host. Through Jentic you install once, import the Android Device Provisioning Partner API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** This API puts the partner id in the URL path (/v1/partners/{+partnerId}/devices:claim, /customers), so a rule can pin your agent to one reseller partner: it can list customers and look up devices there and nothing else. You choose the operations it may call, so device claiming, claimAsync, or metadata writes are not included unless you add them.
- **Credential handling:** Your Google OAuth credential is stored once, encrypted, by your own Jentic One instance and exchanged for short-lived scoped access tokens at execution time. The client secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'claim an Android device' or 'find a device by IMEI', and Jentic returns the matching zero-touch operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Android Management API** — Manages Android devices and apps after they are enrolled in zero-touch.
- **Google Play EMM API** — Deploys managed Google Play apps to enrolled Android Enterprise devices.
- **API Keys API** — Manages API keys for Google Cloud projects that call zero-touch.

## FAQ

### What authentication does the Android Device Provisioning Partner API use?

The API uses OAuth 2.0 with Google scopes. Through Jentic, the OAuth credentials are stored encrypted in your Jentic One instance and exchanged for scoped access tokens at call time so the raw client secret never enters the agent context.

### Can I claim Android devices in bulk with this API?

Yes. The devices:claimAsync endpoint accepts a batch of device identifiers and returns a long-running operation handle. Poll the operation under /v1/operations until it completes to get per-device results.

### What are the rate limits for the Android Device Provisioning Partner API?

Google enforces per-project quotas on the zero-touch API rather than fixed per-second limits, and asynchronous endpoints exist specifically so large batches do not hit synchronous quotas. Check the Google Cloud Console quota page for the live limit on your project.

### How do I find a device by IMEI through Jentic?

Search Jentic for 'find android device by identifier', load the schema for partners.devices.findByIdentifier, and execute it with the partnerId and deviceIdentifier (IMEI, MEID, or serial). Jentic returns the matching device record if it is registered to your partner.

### Is the Android Device Provisioning Partner API free?

Access is free but limited to approved zero-touch reseller and customer accounts. Your Google Cloud project must be enrolled as a partner and the API enabled before calls succeed.

### What is the difference between claim and claimAsync?

The claim endpoint operates on a single device synchronously. The claimAsync endpoint accepts a batch and returns immediately with an operation, which you then poll. Use claimAsync for any batch larger than a handful of devices.

### Can I limit what my agent is allowed to do with the Android Device Provisioning Partner API?

Yes. Because you self-host Jentic One, your own rules decide which zero-touch operations and credentials the agent may use. Since the partner id lives in the URL path (/v1/partners/{partnerId}/devices and /customers), you can pin the agent to a single reseller partner and grant only read operations like listing customers or finding a device by IMEI with findByIdentifier. Write operations such as devices:claim, devices:claimAsync, and device metadata updates stay off limits unless you explicitly add them.
