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

# Google Play EMM API

The Google Play EMM API lets enterprise mobility management providers deploy, license, and manage apps on Android Enterprise devices. EMM partners use it to enroll enterprises, distribute managed Google Play apps, push web apps, manage app permissions and licenses, and configure managed device policies. The API also covers store layouts, product approvals, service accounts, and notification pulls for near-real-time device state updates.

## For AI agents

Manage the deployment of apps, web apps, and licenses to Android Enterprise devices through an EMM provider. Useful for agents that distribute corporate apps and policies to managed Android fleets.

## Scope

Does not handle device policy enforcement, in-app billing, or app build publishing - use for managed Google Play app distribution and EMM operations only.

## Capabilities

- Enroll, acknowledge, and unenroll enterprises in managed Google Play
- Approve managed Google Play apps and assign them to user groups
- Push web apps and store layouts to managed Android devices
- Manage entitlements and licenses for paid managed apps
- Pull notification sets for device, install, and product state changes
- Configure managed configurations for individual apps

## Use cases

### Managed app distribution to corporate devices

EMM admins approve apps in managed Google Play, assign them to user groups, and push installs to enrolled devices. The API exposes products, entitlements, installs, and managed configurations so the EMM can keep app state synchronized across the enterprise without manual side-loading.

Example prompt: Approve product app:com.example.crm for enterprise E-1234 and create installs for every device in user group G-789.

### Web app shortcuts for the managed Play Store

IT teams publish branded web shortcuts (PWA-style links) into the managed Play Store so end users can launch internal tools without sideloading. The webapps endpoints handle creation, icon upload, and update, and the shortcuts then appear in users' managed Play.

Example prompt: Create a web app titled 'Internal Wiki' pointing to https://wiki.example.com under enterprise E-1234 and assign it to all users.

### Notification-driven device state sync

EMM backends call pullNotificationSet on a regular cadence to receive batched events about new device registrations, install completions, and product approvals. This avoids polling individual device endpoints and keeps the EMM's view of the fleet current without burning quota.

Example prompt: Call pullNotificationSet for enterprise E-1234, then acknowledge the returned notification set ID.

### AI agent EMM operations through Jentic

An AI agent acting as a Tier-1 EMM admin handles repetitive provisioning tasks (enrolling new users, approving requested apps, fixing failed installs) by searching Jentic for the operation, loading the schema, and executing the call. The agent never needs the underlying service account key.

Example prompt: Find every install in state 'installError' for enterprise E-1234 and re-issue the install command for each one.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /androidenterprise/v1/enterprises | List enrolled enterprises |
| POST | /androidenterprise/v1/enterprises/enroll | Enroll a new enterprise |
| POST | /androidenterprise/v1/enterprises/pullNotificationSet | Pull batched device and install notifications |
| POST | /androidenterprise/v1/enterprises/acknowledgeNotificationSet | Acknowledge a pulled notification set |
| GET | /androidenterprise/v1/enterprises/{enterpriseId} | Get an enterprise by ID |
| POST | /androidenterprise/v1/enterprises/signupUrl | Generate a managed Play signup URL |

## Key resources

- **Enterprises** — Enroll, configure, and unenroll managed Google Play enterprises
- **Products** — Approve and manage apps available to the enterprise
- **Installs** — Track and manage app installs on individual devices
- **WebApps** — Create and update web app shortcuts in managed Play
- **Entitlements** — Assign and revoke paid app licenses for users
- **ManagedConfigurations** — Push per-app configuration to managed devices

## Why Jentic

- **Setup:** Wiring the Google Play EMM API by hand means setting up Google OAuth 2.0 from an EMM service account, minting short-lived scoped access tokens, and pointing calls at the androidenterprise.googleapis.com host. Through Jentic you install once, import the Google Play EMM API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** The EMM API puts the enterprise id in the URL path (/androidenterprise/v1/enterprises/{enterpriseId}), so a rule can pin your agent to one enterprise: it can read that enterprise and nothing else. You choose the operations it may call, so actions like enroll, pullNotificationSet, or acknowledgeNotificationSet are not included unless you add them.
- **Credential handling:** Your Google service account credential is stored once, encrypted, by your own Jentic One instance and exchanged for short-lived scoped access tokens at execution time. The service account JSON never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'approve a managed Google Play app' or 'pull device notifications', and Jentic returns the matching EMM operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Android Management API** — Newer Google-hosted EMM that replaces self-hosted EMM partners for many use cases.
- **Android Device Provisioning Partner API** — Claims Android devices for zero-touch enrollment before they reach the EMM.
- **Google Play Android Developer API** — Publishes the apps that are then distributed via managed Google Play.

## FAQ

### What authentication does the Google Play EMM API use?

It uses OAuth 2.0, typically with a service account that has been authorized for the enterprise. Through Jentic the service account JSON is stored encrypted in the vault and exchanged for a scoped access token at call time.

### Can I push web app shortcuts with this API?

Yes. The webapps endpoints under /androidenterprise/v1/enterprises/{enterpriseId}/webApps let you create, list, update, and delete web app shortcuts that appear in the managed Play Store.

### What are the rate limits for the Google Play EMM API?

Google enforces per-project quotas in the Cloud Console. Notification-based endpoints (pullNotificationSet) are designed for steady polling and have higher effective throughput than per-device polling, so prefer them for fleet-wide state sync.

### How do I approve and assign a managed Google Play app through Jentic?

Search Jentic for 'approve managed google play app', load the schema for products.approve, and execute it with the enterpriseId and productId. Then call entitlements.update or installs.update through Jentic to assign the app to users or devices.

### Is the Google Play EMM API free?

The API itself is free for approved EMM partners. App licensing costs (for paid apps) flow through entitlements, not the API surface. EMM partner approval is required before the endpoints become callable.

### How do I detect failed installs across the enterprise?

Pull a notification set with installs.pullNotificationSet, filter for installs whose installState indicates failure, and re-issue installs.update for those device and product pairs.

### Can I limit what my agent is allowed to do with the Google Play EMM API?

Yes. Jentic One is self-hosted by you, so your own rules decide which operations and credentials the agent may use. Because the EMM API carries the enterprise id in the URL path (/androidenterprise/v1/enterprises/{enterpriseId}), a rule can pin the agent to a single enterprise, and you choose exactly which operations it may call. That means read-only tasks like listing enterprises or pulling notification sets can be allowed while state-changing calls such as products.approve, installs.update, or acknowledgeNotificationSet stay excluded until you add them.
