This API reference is organized by resource type. Each resource type has one or more data representations and one or more methods.

## Resource types

1. [Devices](https://developers.google.com/android/work/play/emm-api/v1#Devices)
2. [Enrollmenttokens](https://developers.google.com/android/work/play/emm-api/v1#Enrollmenttokens)
3. [Enterprises](https://developers.google.com/android/work/play/emm-api/v1#Enterprises)
4. [Entitlements](https://developers.google.com/android/work/play/emm-api/v1#Entitlements)
5. [Grouplicenses](https://developers.google.com/android/work/play/emm-api/v1#Grouplicenses)
6. [Grouplicenseusers](https://developers.google.com/android/work/play/emm-api/v1#Grouplicenseusers)
7. [Installs](https://developers.google.com/android/work/play/emm-api/v1#Installs)
8. [Managedconfigurationsfordevice](https://developers.google.com/android/work/play/emm-api/v1#Managedconfigurationsfordevice)
9. [Managedconfigurationsforuser](https://developers.google.com/android/work/play/emm-api/v1#Managedconfigurationsforuser)
10. [Managedconfigurationssettings](https://developers.google.com/android/work/play/emm-api/v1#Managedconfigurationssettings)
11. [Permissions](https://developers.google.com/android/work/play/emm-api/v1#Permissions)
12. [Products](https://developers.google.com/android/work/play/emm-api/v1#Products)
13. [Serviceaccountkeys](https://developers.google.com/android/work/play/emm-api/v1#Serviceaccountkeys)
14. [Storelayoutclusters](https://developers.google.com/android/work/play/emm-api/v1#Storelayoutclusters)
15. [Storelayoutpages](https://developers.google.com/android/work/play/emm-api/v1#Storelayoutpages)
16. [Users](https://developers.google.com/android/work/play/emm-api/v1#Users)
17. [Webapps](https://developers.google.com/android/work/play/emm-api/v1#Webapps)

## Devices

For Devices Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/devices#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [forceReportUpload](https://developers.google.com/android/work/play/emm-api/v1/devices/forceReportUpload) | `POST /enterprises/enterpriseId/users/userId/devices/deviceId/forceReportUpload` | Uploads a report containing any changes in app states on the device since the last report was generated. You can call this method up to 3 times every 24 hours for a given device. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/devices/get) | `GET /enterprises/enterpriseId/users/userId/devices/deviceId` | Retrieves the details of a device. |
| [getState](https://developers.google.com/android/work/play/emm-api/v1/devices/getState) | `GET /enterprises/enterpriseId/users/userId/devices/deviceId/state` | Retrieves whether a device's access to Google services is enabled or disabled. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services. This is only supported for Google-managed users. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/devices/list) | `GET /enterprises/enterpriseId/users/userId/devices` | Retrieves the IDs of all of a user's devices. |
| [setState](https://developers.google.com/android/work/play/emm-api/v1/devices/setState) | `PUT /enterprises/enterpriseId/users/userId/devices/deviceId/state` | Sets whether a device's access to Google services is enabled or disabled. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services. This is only supported for Google-managed users. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/devices/update) | `PUT /enterprises/enterpriseId/users/userId/devices/deviceId` | Updates the device policy. <br /> To ensure the policy is properly enforced, you need to prevent unmanaged accounts from accessing Google Play by setting the `allowed_accounts` in the managed configuration for the Google Play package. See [restrict accounts in Google Play](https://developer.android.com/work/dpc/security#google-play-accounts). |

## Enrollmenttokens

For Enrollmenttokens Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/enrollmenttokens#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [create](https://developers.google.com/android/work/play/emm-api/v1/enrollmenttokens/create) | `POST /enterprises/enterpriseId/enrollmentTokens` | Creates an enrollment token for the enterprise. This method is part of the EnrollmentTokensService. |

## Enterprises

For Enterprises Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/enterprises#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [acknowledgeNotificationSet](https://developers.google.com/android/work/play/emm-api/v1/enterprises/acknowledgeNotificationSet) | `POST /enterprises/acknowledgeNotificationSet` | Acknowledges notifications that were received from Enterprises.PullNotificationSet to prevent subsequent calls from returning the same notifications. |
| [completeSignup](https://developers.google.com/android/work/play/emm-api/v1/enterprises/completeSignup) | `POST /enterprises/completeSignup` | Completes the signup flow, by specifying the Completion token and Enterprise token. This request must not be called multiple times for a given Enterprise Token. |
| [createWebToken](https://developers.google.com/android/work/play/emm-api/v1/enterprises/createWebToken) | `POST /enterprises/enterpriseId/createWebToken` | Returns a unique token to access an embeddable UI. To generate a web UI, pass the generated token into the managed Google Play javascript API. Each token may only be used to start one UI session. See the [JavaScript API documentation](https://developers.google.com/api-client-library/javascript/apis/androidenterprise/v1) for further information. |
| [enroll](https://developers.google.com/android/work/play/emm-api/v1/enterprises/enroll) | `POST /enterprises/enroll` | Enrolls an enterprise with the calling EMM. <br /> **Required query parameters:** `token` |
| [generateEnterpriseUpgradeUrl](https://developers.google.com/android/work/play/emm-api/v1/enterprises/generateEnterpriseUpgradeUrl) | `POST /enterprises/enterpriseId/generateEnterpriseUpgradeUrl` | Generates an enterprise upgrade URL to upgrade an existing managed Google Play Accounts enterprise to a managed Google domain. See [the guide to upgrading an enterprise](https://developers.google.com/android/work/play/emm-api/upgrade-an-enterprise) for more details. |
| [generateSignupUrl](https://developers.google.com/android/work/play/emm-api/v1/enterprises/generateSignupUrl) | `POST /enterprises/signupUrl` | Generates a sign-up URL. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/enterprises/get) | `GET /enterprises/enterpriseId` | Retrieves the name and domain of an enterprise. |
| [getServiceAccount](https://developers.google.com/android/work/play/emm-api/v1/enterprises/getServiceAccount) | `GET /enterprises/enterpriseId/serviceAccount` | Returns a service account and credentials. The service account can be bound to the enterprise by calling setAccount. The service account is unique to this enterprise and EMM, and will be deleted if the enterprise is unbound. The credentials contain private key data and are not stored server-side. <br /> This method can only be called after calling Enterprises.Enroll or Enterprises.CompleteSignup, and before Enterprises.SetAccount; at other times it will return an error. <br /> Subsequent calls after the first will generate a new, unique set of credentials, and invalidate the previously generated credentials. <br /> Once the service account is bound to the enterprise, it can be managed using the serviceAccountKeys resource. <br /> <br /> **Note:** After you create a key, you might need to wait for 60 seconds or more before you perform another operation with the key. If you try to perform an operation with the key immediately after you create the key, and you receive an error, you can [retry the request with exponential backoff](https://cloud.google.com/iam/docs/retry-strategy) <br /> . |
| [getStoreLayout](https://developers.google.com/android/work/play/emm-api/v1/enterprises/getStoreLayout) | `GET /enterprises/enterpriseId/storeLayout` | Returns the store layout for the enterprise. If the store layout has not been set, returns "basic" as the store layout type and no homepage. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/enterprises/list) | `GET /enterprises` | Looks up an enterprise by domain name. This is only supported for enterprises created via the Google-initiated creation flow. Lookup of the id is not needed for enterprises created via the EMM-initiated flow since the EMM learns the enterprise ID in the callback specified in the Enterprises.generateSignupUrl call. <br /> **Required query parameters:** `domain` |
| [pullNotificationSet](https://developers.google.com/android/work/play/emm-api/v1/enterprises/pullNotificationSet) | `POST /enterprises/pullNotificationSet` | Pulls and returns a notification set for the enterprises associated with the service account authenticated for the request. The notification set may be empty if no notification are pending. A notification set returned needs to be acknowledged within 20 seconds by calling Enterprises.AcknowledgeNotificationSet, unless the notification set is empty. Notifications that are not acknowledged within the 20 seconds will eventually be included again in the response to another PullNotificationSet request, and those that are never acknowledged will ultimately be deleted according to the Google Cloud Platform Pub/Sub system policy. Multiple requests might be performed concurrently to retrieve notifications, in which case the pending notifications (if any) will be split among each caller, if any are pending. If no notifications are present, an empty notification list is returned. Subsequent requests may return more notifications once they become available. |
| [sendTestPushNotification](https://developers.google.com/android/work/play/emm-api/v1/enterprises/sendTestPushNotification) | `POST /enterprises/enterpriseId/sendTestPushNotification` | Sends a test notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise. |
| [setAccount](https://developers.google.com/android/work/play/emm-api/v1/enterprises/setAccount) | `PUT /enterprises/enterpriseId/account` | Sets the account that will be used to authenticate to the API as the enterprise. |
| [setStoreLayout](https://developers.google.com/android/work/play/emm-api/v1/enterprises/setStoreLayout) | `PUT /enterprises/enterpriseId/storeLayout` | Sets the store layout for the enterprise. By default, storeLayoutType is set to "basic" and the basic store layout is enabled. The basic layout only contains apps approved by the admin, and that have been added to the available product set for a user (using the [setAvailableProductSet](https://developers.google.com/android/work/play/emm-api/v1/users/setAvailableProductSet) call). Apps on the page are sorted in order of their product ID value. If you create a custom store layout (by setting storeLayoutType = "custom" and setting a homepage), the basic store layout is disabled. |
| [unenroll](https://developers.google.com/android/work/play/emm-api/v1/enterprises/unenroll) | `POST /enterprises/enterpriseId/unenroll` | Unenrolls an enterprise from the calling EMM. |

## Entitlements

For Entitlements Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/entitlements#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/entitlements/delete) | `DELETE /enterprises/enterpriseId/users/userId/entitlements/entitlementId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Removes an entitlement to an app for a user. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/entitlements/get) | `GET /enterprises/enterpriseId/users/userId/entitlements/entitlementId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves details of an entitlement. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/entitlements/list) | `GET /enterprises/enterpriseId/users/userId/entitlements` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Lists all entitlements for the specified user. Only the ID is set. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/entitlements/update) | `PUT /enterprises/enterpriseId/users/userId/entitlements/entitlementId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Adds or updates an entitlement to an app for a user. |

## Grouplicenses

For Grouplicenses Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/grouplicenses#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [get](https://developers.google.com/android/work/play/emm-api/v1/grouplicenses/get) | `GET /enterprises/enterpriseId/groupLicenses/groupLicenseId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves details of an enterprise's group license for a product. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/grouplicenses/list) | `GET /enterprises/enterpriseId/groupLicenses` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves IDs of all products for which the enterprise has a group license. |

## Grouplicenseusers

For Grouplicenseusers Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/grouplicenseusers#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [list](https://developers.google.com/android/work/play/emm-api/v1/grouplicenseusers/list) | `GET /enterprises/enterpriseId/groupLicenses/groupLicenseId/users` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves the IDs of the users who have been granted entitlements under the license. |

## Installs

For Installs Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/installs#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/installs/delete) | `DELETE /enterprises/enterpriseId/users/userId/devices/deviceId/installs/installId` | Requests to remove an app from a device. A call to `get` or `list` will still show the app as installed on the device until it is actually removed. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/installs/get) | `GET /enterprises/enterpriseId/users/userId/devices/deviceId/installs/installId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_3). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves details of an installation of an app on a device. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/installs/list) | `GET /enterprises/enterpriseId/users/userId/devices/deviceId/installs` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_3). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves the details of all apps installed on the specified device. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/installs/update) | `PUT /enterprises/enterpriseId/users/userId/devices/deviceId/installs/installId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_3). **This method will no longer be accessible by anyone after September 30, 2025.** Requests to install the latest version of an app to a device. If the app is already installed, then it is updated to the latest version if necessary. |

## Managedconfigurationsfordevice

For Managedconfigurationsfordevice Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsfordevice#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsfordevice/delete) | `DELETE /enterprises/enterpriseId/users/userId/devices/deviceId/managedConfigurationsForDevice/managedConfigurationForDeviceId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_5). **This method will no longer be accessible by anyone after September 30, 2025.** Removes a per-device managed configuration for an app for the specified device. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsfordevice/get) | `GET /enterprises/enterpriseId/users/userId/devices/deviceId/managedConfigurationsForDevice/managedConfigurationForDeviceId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_5). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves details of a per-device managed configuration. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsfordevice/list) | `GET /enterprises/enterpriseId/users/userId/devices/deviceId/managedConfigurationsForDevice` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_5). **This method will no longer be accessible by anyone after September 30, 2025.** Lists all the per-device managed configurations for the specified device. Only the ID is set. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsfordevice/update) | `PUT /enterprises/enterpriseId/users/userId/devices/deviceId/managedConfigurationsForDevice/managedConfigurationForDeviceId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_5). **This method will no longer be accessible by anyone after September 30, 2025.** Adds or updates a per-device managed configuration for an app for the specified device. |

## Managedconfigurationsforuser

For Managedconfigurationsforuser Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsforuser#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsforuser/delete) | `DELETE /enterprises/enterpriseId/users/userId/managedConfigurationsForUser/managedConfigurationForUserId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_5). **This method will no longer be accessible by anyone after September 30, 2025.** Removes a per-user managed configuration for an app for the specified user. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsforuser/get) | `GET /enterprises/enterpriseId/users/userId/managedConfigurationsForUser/managedConfigurationForUserId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_5). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves details of a per-user managed configuration for an app for the specified user. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsforuser/list) | `GET /enterprises/enterpriseId/users/userId/managedConfigurationsForUser` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_5). **This method will no longer be accessible by anyone after September 30, 2025.** Lists all the per-user managed configurations for the specified user. Only the ID is set. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationsforuser/update) | `PUT /enterprises/enterpriseId/users/userId/managedConfigurationsForUser/managedConfigurationForUserId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_5). **This method will no longer be accessible by anyone after September 30, 2025.** Adds or updates the managed configuration settings for an app for the specified user. If you support the [Managed configurations iframe](https://developers.google.com/android/work/play/emm-api/managed-configurations-iframe), you can apply managed configurations to a user by specifying an `mcmId` and its associated configuration variables (if any) in the request. Alternatively, all EMMs can apply managed configurations by passing a list of managed properties. |

## Managedconfigurationssettings

For Managedconfigurationssettings Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationssettings#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [list](https://developers.google.com/android/work/play/emm-api/v1/managedconfigurationssettings/list) | `GET /enterprises/enterpriseId/products/productId/managedConfigurationsSettings` | Lists all the managed configurations settings for the specified app. |

## Permissions

For Permissions Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/permissions#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [get](https://developers.google.com/android/work/play/emm-api/v1/permissions/get) | `GET /permissions/permissionId` | Retrieves details of an Android app permission for display to an enterprise admin. |

## Products

For Products Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/products#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [approve](https://developers.google.com/android/work/play/emm-api/v1/products/approve) | `POST /enterprises/enterpriseId/products/productId/approve` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative). **This method will no longer be accessible by anyone after September 30, 2025.** Approves the specified product and the relevant app permissions, if any. The maximum number of products that you can approve per enterprise customer is 1,000. To learn how to use managed Google Play to design and create a store layout to display approved products to your users, see [Store Layout Design](https://developers.google.com/android/work/play/emm-api/store-layout). |
| [generateApprovalUrl](https://developers.google.com/android/work/play/emm-api/v1/products/generateApprovalUrl) | `POST /enterprises/enterpriseId/products/productId/generateApprovalUrl` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative). **This method will no longer be accessible by anyone after September 30, 2025.** Generates a URL that can be rendered in an iframe to display the permissions (if any) of a product. An enterprise admin must view these permissions and accept them on behalf of their organization in order to approve that product. Admins should accept the displayed permissions by interacting with a separate UI element in the EMM console, which in turn should trigger the use of this URL as the `approvalUrlInfo.approvalUrl` property in a `Products.approve` call to approve the product. This URL can only be used to display permissions for up to 1 day. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/products/get) | `GET /enterprises/enterpriseId/products/productId` | Retrieves details of a product for display to an enterprise admin. |
| [getAppRestrictionsSchema](https://developers.google.com/android/work/play/emm-api/v1/products/getAppRestrictionsSchema) | `GET /enterprises/enterpriseId/products/productId/appRestrictionsSchema` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_4). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves the schema that defines the configurable properties for this product. All products have a schema, but this schema may be empty if no managed configurations have been defined. This schema can be used to populate a UI that allows an admin to configure the product. To apply a managed configuration based on the schema obtained using this API, see [Managed Configurations through Play](https://developers.google.com/android/work/play/emm-api/managed-configurations). |
| [getPermissions](https://developers.google.com/android/work/play/emm-api/v1/products/getPermissions) | `GET /enterprises/enterpriseId/products/productId/permissions` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_4). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves the Android app permissions required by this app. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/products/list) | `GET /enterprises/enterpriseId/products` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative). **This method will no longer be accessible by anyone after September 30, 2025.** Finds approved products that match a query, or all approved products if there is no query. |
| [unapprove](https://developers.google.com/android/work/play/emm-api/v1/products/unapprove) | `POST /enterprises/enterpriseId/products/productId/unapprove` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative). **This method will no longer be accessible by anyone after September 30, 2025.** Unapproves the specified product (and the relevant app permissions, if any) |

## Serviceaccountkeys

For Serviceaccountkeys Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/serviceaccountkeys#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/serviceaccountkeys/delete) | `DELETE /enterprises/enterpriseId/serviceAccountKeys/keyId` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_4). **This method will no longer be accessible by anyone after September 30, 2025.** Removes and invalidates the specified credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount. |
| [insert](https://developers.google.com/android/work/play/emm-api/v1/serviceaccountkeys/insert) | `POST /enterprises/enterpriseId/serviceAccountKeys` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_4). **This method will no longer be accessible by anyone after September 30, 2025.** Generates new credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount. Only the type of the key should be populated in the resource to be inserted. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/serviceaccountkeys/list) | `GET /enterprises/enterpriseId/serviceAccountKeys` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_4). **This method will no longer be accessible by anyone after September 30, 2025.** Lists all active credentials for the service account associated with this enterprise. Only the ID and key type are returned. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount. |

## Storelayoutclusters

For Storelayoutclusters Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/storelayoutclusters#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/storelayoutclusters/delete) | `DELETE /enterprises/enterpriseId/storeLayout/pages/pageId/clusters/clusterId` | Deletes a cluster. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/storelayoutclusters/get) | `GET /enterprises/enterpriseId/storeLayout/pages/pageId/clusters/clusterId` | Retrieves details of a cluster. |
| [insert](https://developers.google.com/android/work/play/emm-api/v1/storelayoutclusters/insert) | `POST /enterprises/enterpriseId/storeLayout/pages/pageId/clusters` | Inserts a new cluster in a page. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/storelayoutclusters/list) | `GET /enterprises/enterpriseId/storeLayout/pages/pageId/clusters` | Retrieves the details of all clusters on the specified page. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/storelayoutclusters/update) | `PUT /enterprises/enterpriseId/storeLayout/pages/pageId/clusters/clusterId` | Updates a cluster. |

## Storelayoutpages

For Storelayoutpages Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/storelayoutpages#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/storelayoutpages/delete) | `DELETE /enterprises/enterpriseId/storeLayout/pages/pageId` | Deletes a store page. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/storelayoutpages/get) | `GET /enterprises/enterpriseId/storeLayout/pages/pageId` | Retrieves details of a store page. |
| [insert](https://developers.google.com/android/work/play/emm-api/v1/storelayoutpages/insert) | `POST /enterprises/enterpriseId/storeLayout/pages` | Inserts a new store page. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/storelayoutpages/list) | `GET /enterprises/enterpriseId/storeLayout/pages` | Retrieves the details of all pages in the store. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/storelayoutpages/update) | `PUT /enterprises/enterpriseId/storeLayout/pages/pageId` | Updates the content of a store page. |

## Users

For Users Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/users#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/users/delete) | `DELETE /enterprises/enterpriseId/users/userId` | Deleted an EMM-managed user. |
| [generateAuthenticationToken](https://developers.google.com/android/work/play/emm-api/v1/users/generateAuthenticationToken) | `POST /enterprises/enterpriseId/users/userId/authenticationToken` | Generates an authentication token which the device policy client can use to provision the given EMM-managed user account on a device. The generated token is single-use and expires after a few minutes. <br /> You can provision a maximum of 10 devices per user. <br /> This call only works with EMM-managed accounts. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/users/get) | `GET /enterprises/enterpriseId/users/userId` | Retrieves a user's details. |
| [getAvailableProductSet](https://developers.google.com/android/work/play/emm-api/v1/users/getAvailableProductSet) | `GET /enterprises/enterpriseId/users/userId/availableProductSet` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Retrieves the set of products a user is entitled to access. |
| [insert](https://developers.google.com/android/work/play/emm-api/v1/users/insert) | `POST /enterprises/enterpriseId/users` | Creates a new EMM-managed user. <br /> The [Users](https://developers.google.com/android/work/play/emm-api/v1/users) resource passed in the body of the request should include an `accountIdentifier` and an `accountType`. If a corresponding user already exists with the same account identifier, the user will be updated with the resource. In this case only the `displayName` field can be changed. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/users/list) | `GET /enterprises/enterpriseId/users` | Looks up a user by primary email address. This is only supported for Google-managed users. Lookup of the id is not needed for EMM-managed users because the id is already returned in the result of the Users.insert call. <br /> **Required query parameters:** `email` |
| [revokeDeviceAccess](https://developers.google.com/android/work/play/emm-api/v1/users/revokeDeviceAccess) | `DELETE /enterprises/enterpriseId/users/userId/deviceAccess` | Revokes access to all devices currently provisioned to the user. The user will no longer be able to use the managed Play store on any of their managed devices. <br /> This call only works with EMM-managed accounts. |
| [setAvailableProductSet](https://developers.google.com/android/work/play/emm-api/v1/users/setAvailableProductSet) | `PUT /enterprises/enterpriseId/users/userId/availableProductSet` | **Deprecated:** New integrations cannot use this method and can refer to our [new recommendations](https://developers.google.com/android/work/deprecations#recommended_alternative_2). **This method will no longer be accessible by anyone after September 30, 2025.** Modifies the set of products that a user is entitled to access (referred to as *whitelisted* products). Only products that are [approved](https://developers.google.com/android/work/play/emm-api/v1/products/approve) or products that were previously approved (products with revoked approval) can be whitelisted. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/users/update) | `PUT /enterprises/enterpriseId/users/userId` | Updates the details of an EMM-managed user. <br /> Can be used with EMM-managed users only (not Google managed users). Pass the new details in the [Users](https://developers.google.com/android/work/play/emm-api/v1/users) resource in the request body. Only the `displayName` field can be changed. Other fields must either be unset or have the currently active value. |

## Webapps

For Webapps Resource details, see the [resource representation](https://developers.google.com/android/work/play/emm-api/v1/webapps#resource) page.

| Method | HTTP request | Description |
|---|---|---|
| URIs relative to https://www.googleapis.com/androidenterprise/v1, unless otherwise noted |||
| [delete](https://developers.google.com/android/work/play/emm-api/v1/webapps/delete) | `DELETE /enterprises/enterpriseId/webApps/webAppId` | Deletes an existing web app. |
| [get](https://developers.google.com/android/work/play/emm-api/v1/webapps/get) | `GET /enterprises/enterpriseId/webApps/webAppId` | Gets an existing web app. |
| [insert](https://developers.google.com/android/work/play/emm-api/v1/webapps/insert) | `POST /enterprises/enterpriseId/webApps` | Creates a new web app for the enterprise. |
| [list](https://developers.google.com/android/work/play/emm-api/v1/webapps/list) | `GET /enterprises/enterpriseId/webApps` | Retrieves the details of all web apps for a given enterprise. |
| [update](https://developers.google.com/android/work/play/emm-api/v1/webapps/update) | `PUT /enterprises/enterpriseId/webApps/webAppId` | Updates an existing web app. |