# Google Play EMM API . enterprises

## Instance Methods

Acknowledges notifications that were received from

Completes the signup flow, by specifying the Completion token and

Returns a unique token to access an embeddable UI. To generate a

Enrolls an enterprise with the calling EMM.

Generates a sign-up URL.

Retrieves the name and domain of an enterprise.

Returns a service account and credentials. The service account

Returns the store layout for the enterprise. If the store layout

Looks up an enterprise by domain name.

Pulls and returns a notification set for the enterprises associated with

Sends a test notification to validate the EMM integration with

Sets the account that will be used to authenticate to the API as the

Sets the store layout for the enterprise. By default, storeLayoutType

Unenrolls an enterprise from the calling EMM.

### Method Details

`acknowledgeNotificationSet(notificationSetId=None, x__xgafv=None)`

    Acknowledges notifications that were received from
    Enterprises.PullNotificationSet to prevent subsequent calls from returning
    the same notifications.

    Args:
      notificationSetId: string, The notification set ID as returned by Enterprises.PullNotificationSet.
    This must be provided.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

`completeSignup(completionToken=None, enterpriseToken=None, x__xgafv=None)`

    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.

    Args:
      completionToken: string, The Completion token initially returned by GenerateSignupUrl.
      enterpriseToken: string, The Enterprise token appended to the Callback URL.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # An Enterprises resource represents the binding between an EMM and a
            # specific organization. That binding can be instantiated in one of two
            # different ways using this API as follows:
            # <ul><li>For Google managed domain customers, the process involves using
            # <code>Enterprises.enroll</code> and <code>Enterprises.setAccount</code> (in
            # conjunction with artifacts obtained from the Admin console and the Google
            # API Console) and submitted to the EMM through a more-or-less manual
            # process.</li>
            # <li>For managed Google Play Accounts customers, the process involves using
            # <code>Enterprises.generateSignupUrl</code> and
            # <code>Enterprises.completeSignup</code> in conjunction with the managed
            # Google Play sign-up UI (Google-provided mechanism) to create the binding
            # without manual steps.</li></ul> As an EMM, you can support either or both
            # approaches in your EMM console. See <a
            # href="/android/work/play/emm-api/create-enterprise">Create an Enterprise</a>
            # for details.
          "administrator": [ # Admins of the enterprise. This is only supported for enterprises
              # created via the EMM-initiated flow.
            { # This represents an enterprise admin who can manage the enterprise
                # in the managed Google Play store.
              "email": "A String", # The admin's email address.
            },
          ],
          "name": "A String", # The name of the enterprise, for example, "Example, Inc".
          "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com".
          "id": "A String", # The unique ID for the enterprise.
        }

`createWebToken(enterpriseId, body=None, x__xgafv=None)`

    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 for further information.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      body: object, The request body.
        The object takes the form of:

    { # Specification for a token used to generate iframes. The token specifies
          # what data the admin is allowed to modify and the URI the iframe is
          # allowed to communiate with.
        "storeBuilder": { # Options for displaying the Organize apps page.
          "enabled": True or False, # Whether the Organize apps page is displayed. Default is true.
        },
        "managedConfigurations": { # Options for displaying the Managed Configuration page.
          "enabled": True or False, # Whether the Managed Configuration page is displayed. Default is true.
        },
        "parent": "A String", # The URI of the parent frame hosting the iframe. To prevent XSS, the iframe
            # may not be hosted at other URIs. This URI must be https.
            # Use whitespaces to separate multiple parent URIs.
        "privateApps": { # Options for displaying the Private Apps page.
          "enabled": True or False, # Whether the Private Apps page is displayed. Default is true.
        },
        "playSearch": { # Options for displaying the managed Play Search apps page.
          "enabled": True or False, # Whether the managed Play Search apps page is displayed. Default is true.
          "approveApps": True or False, # Allow access to the iframe in <a
              # href="https://developers.google.com/android/work/play/emm-api/managed-play-iframe#render">approve
              # mode</a>. Default is false.
        },
        "permission": [ # Deprecated. Use <code>PlaySearch.approveApps</code>.
          "A String",
        ],
        "webApps": { # Options for displaying the Web Apps page.
          "enabled": True or False, # Whether the Web Apps page is displayed. Default is true.
        },
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A token authorizing an admin to access an iframe.
        "token": "A String", # An opaque token to be passed to the Play front-end to generate an iframe.
      }

`enroll(token, body=None, x__xgafv=None)`

    Enrolls an enterprise with the calling EMM.

    Args:
      token: string, Required. The token provided by the enterprise to register the EMM. (required)
      body: object, The request body.
        The object takes the form of:

    { # An Enterprises resource represents the binding between an EMM and a
          # specific organization. That binding can be instantiated in one of two
          # different ways using this API as follows:
          # <ul><li>For Google managed domain customers, the process involves using
          # <code>Enterprises.enroll</code> and <code>Enterprises.setAccount</code> (in
          # conjunction with artifacts obtained from the Admin console and the Google
          # API Console) and submitted to the EMM through a more-or-less manual
          # process.</li>
          # <li>For managed Google Play Accounts customers, the process involves using
          # <code>Enterprises.generateSignupUrl</code> and
          # <code>Enterprises.completeSignup</code> in conjunction with the managed
          # Google Play sign-up UI (Google-provided mechanism) to create the binding
          # without manual steps.</li></ul> As an EMM, you can support either or both
          # approaches in your EMM console. See <a
          # href="/android/work/play/emm-api/create-enterprise">Create an Enterprise</a>
          # for details.
        "administrator": [ # Admins of the enterprise. This is only supported for enterprises
            # created via the EMM-initiated flow.
          { # This represents an enterprise admin who can manage the enterprise
              # in the managed Google Play store.
            "email": "A String", # The admin's email address.
          },
        ],
        "name": "A String", # The name of the enterprise, for example, "Example, Inc".
        "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com".
        "id": "A String", # The unique ID for the enterprise.
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # An Enterprises resource represents the binding between an EMM and a
            # specific organization. That binding can be instantiated in one of two
            # different ways using this API as follows:
            # <ul><li>For Google managed domain customers, the process involves using
            # <code>Enterprises.enroll</code> and <code>Enterprises.setAccount</code> (in
            # conjunction with artifacts obtained from the Admin console and the Google
            # API Console) and submitted to the EMM through a more-or-less manual
            # process.</li>
            # <li>For managed Google Play Accounts customers, the process involves using
            # <code>Enterprises.generateSignupUrl</code> and
            # <code>Enterprises.completeSignup</code> in conjunction with the managed
            # Google Play sign-up UI (Google-provided mechanism) to create the binding
            # without manual steps.</li></ul> As an EMM, you can support either or both
            # approaches in your EMM console. See <a
            # href="/android/work/play/emm-api/create-enterprise">Create an Enterprise</a>
            # for details.
          "administrator": [ # Admins of the enterprise. This is only supported for enterprises
              # created via the EMM-initiated flow.
            { # This represents an enterprise admin who can manage the enterprise
                # in the managed Google Play store.
              "email": "A String", # The admin's email address.
            },
          ],
          "name": "A String", # The name of the enterprise, for example, "Example, Inc".
          "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com".
          "id": "A String", # The unique ID for the enterprise.
        }

`generateSignupUrl(callbackUrl=None, x__xgafv=None)`

    Generates a sign-up URL.

    Args:
      callbackUrl: string, The callback URL to which the Admin will be redirected after successfully
    creating an enterprise. Before redirecting there the system will add a
    single query parameter to this URL named "enterpriseToken" which will
    contain an opaque token to be used for the CompleteSignup request.<br>
    Beware that this means that the URL will be parsed, the parameter added
    and then a new URL formatted, i.e. there may be some minor formatting
    changes and, more importantly, the URL must be well-formed so that it can
    be parsed.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A resource returned by the GenerateSignupUrl API, which contains the
          # Signup URL and Completion Token.
        "url": "A String", # A URL under which the Admin can sign up for an enterprise.
            # The page pointed to cannot be rendered in an iframe.
        "kind": "A String", # Deprecated.
        "completionToken": "A String", # An opaque token that will be required, along with the Enterprise Token,
            # for obtaining the enterprise resource from CompleteSignup.
      }

`get(enterpriseId, x__xgafv=None)`

    Retrieves the name and domain of an enterprise.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # An Enterprises resource represents the binding between an EMM and a
            # specific organization. That binding can be instantiated in one of two
            # different ways using this API as follows:
            # <ul><li>For Google managed domain customers, the process involves using
            # <code>Enterprises.enroll</code> and <code>Enterprises.setAccount</code> (in
            # conjunction with artifacts obtained from the Admin console and the Google
            # API Console) and submitted to the EMM through a more-or-less manual
            # process.</li>
            # <li>For managed Google Play Accounts customers, the process involves using
            # <code>Enterprises.generateSignupUrl</code> and
            # <code>Enterprises.completeSignup</code> in conjunction with the managed
            # Google Play sign-up UI (Google-provided mechanism) to create the binding
            # without manual steps.</li></ul> As an EMM, you can support either or both
            # approaches in your EMM console. See <a
            # href="/android/work/play/emm-api/create-enterprise">Create an Enterprise</a>
            # for details.
          "administrator": [ # Admins of the enterprise. This is only supported for enterprises
              # created via the EMM-initiated flow.
            { # This represents an enterprise admin who can manage the enterprise
                # in the managed Google Play store.
              "email": "A String", # The admin's email address.
            },
          ],
          "name": "A String", # The name of the enterprise, for example, "Example, Inc".
          "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com".
          "id": "A String", # The unique ID for the enterprise.
        }

`getServiceAccount(enterpriseId, keyType=None, x__xgafv=None)`

    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> <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> <br>
    Subsequent calls after the first will generate a new, unique set of
    credentials, and invalidate the previously generated credentials.
    <br> <br>
    Once the service account is bound to the enterprise, it can be managed
    using the serviceAccountKeys resource.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      keyType: string, The type of credential to return with the service account. Required.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A service account identity, including the name and credentials that can be
          # used to authenticate as the service account.
        "key": { # Credentials that can be used to authenticate as a service account. # Credentials that can be used to authenticate as this ServiceAccount.
          "data": "A String", # The body of the private key credentials file, in string format. This
              # is only populated when the ServiceAccountKey is created, and is not stored
              # by Google.
          "publicData": "A String", # Public key data for the credentials file. This is an X.509 cert. If you are
              # using the <code>googleCredentials</code> key type, this is identical to the
              # cert that can be retrieved by using the X.509 cert url inside of the
              # credentials file.
          "id": "A String", # An opaque, unique identifier for this ServiceAccountKey.
              # Assigned by the server.
          "type": "A String", # The file format of the generated key data.
        },
        "name": "A String", # The account name of the service account, in the form of an email address.
            # Assigned by the server.
      }

`getStoreLayout(enterpriseId, x__xgafv=None)`

    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.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # General setting for the managed Google Play store layout,
            # currently only specifying the page to display the first time
            # the store is opened.
          "homepageId": "A String", # The ID of the store page to be used as the homepage. The homepage is the
              # first page shown in the managed Google Play Store.
              #
              # Not specifying a homepage is equivalent to setting the store layout
              # type to "basic".
          "storeLayoutType": "A String", # The store layout type. By default, this value is set to "basic"
              # if the homepageId field is not set, and to "custom" otherwise.
              # If set to "basic", the layout will consist of all approved apps that
              # have been whitelisted for the user.
        }

`list(domain, x__xgafv=None)`

    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.

    Args:
      domain: string, Required. The exact primary domain name of the enterprise to look up. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
        "enterprise": [ # An enterprise.
          { # An Enterprises resource represents the binding between an EMM and a
                # specific organization. That binding can be instantiated in one of two
                # different ways using this API as follows:
                # <ul><li>For Google managed domain customers, the process involves using
                # <code>Enterprises.enroll</code> and <code>Enterprises.setAccount</code> (in
                # conjunction with artifacts obtained from the Admin console and the Google
                # API Console) and submitted to the EMM through a more-or-less manual
                # process.</li>
                # <li>For managed Google Play Accounts customers, the process involves using
                # <code>Enterprises.generateSignupUrl</code> and
                # <code>Enterprises.completeSignup</code> in conjunction with the managed
                # Google Play sign-up UI (Google-provided mechanism) to create the binding
                # without manual steps.</li></ul> As an EMM, you can support either or both
                # approaches in your EMM console. See <a
                # href="/android/work/play/emm-api/create-enterprise">Create an Enterprise</a>
                # for details.
              "administrator": [ # Admins of the enterprise. This is only supported for enterprises
                  # created via the EMM-initiated flow.
                { # This represents an enterprise admin who can manage the enterprise
                    # in the managed Google Play store.
                  "email": "A String", # The admin's email address.
                },
              ],
              "name": "A String", # The name of the enterprise, for example, "Example, Inc".
              "primaryDomain": "A String", # The enterprise's primary domain, such as "example.com".
              "id": "A String", # The unique ID for the enterprise.
            },
        ],
      }

`pullNotificationSet(requestMode=None, x__xgafv=None)`

    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.
    <br>
    A notification set returned needs to be acknowledged within 20 seconds
    by calling Enterprises.AcknowledgeNotificationSet, unless the
    notification set is empty.
    <br>
    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.
    <br>
    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.
    <br>
    If no notifications are present, an empty notification list is returned.
    Subsequent requests may return more notifications once they become
    available.

    Args:
      requestMode: string, The request mode for pulling notifications.
    <br>
    Specifying <code>waitForNotifications</code> will cause the request to
    block and wait until one or more notifications are present, or return an
    empty notification list if no notifications are present after some time.
    <br>
    Speciying <code>returnImmediately</code> will cause the request to
    immediately return the pending notifications, or an empty list if no
    notifications are present.
    <br>
    If omitted, defaults to <code>waitForNotifications</code>.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A resource returned by the PullNotificationSet API, which contains
          # a collection of notifications for enterprises associated with the service
          # account authenticated for the request.
        "notificationSetId": "A String", # The notification set ID, required to mark the notification as
            # received with the Enterprises.AcknowledgeNotification API.
            # This will be omitted if no notifications are present.
        "notification": [ # The notifications received, or empty if no notifications are present.
          { # A notification of one event relating to an enterprise.
            "appUpdateEvent": { # An event generated when a new version of an app is uploaded to Google Play. # Notifications about app updates.
                # Notifications are sent for new public versions only: alpha, beta, or canary
                # versions do not generate this event. To fetch up-to-date version history for
                # an app, use Products.Get on the EMM API.
              "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") that was updated.
                  # This field will always be present.
            },
            "appRestrictionsSchemaChangeEvent": { # An event generated when a new app version is uploaded to Google Play and its # Notifications about new app restrictions schema changes.
                # app restrictions schema changed.
                # To fetch the app restrictions schema for an app, use
                # Products.getAppRestrictionsSchema on the EMM API.
              "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which the
                  # app restriction schema changed. This field will always be present.
            },
            "newDeviceEvent": { # An event generated when a new device is ready to be managed. # Notifications about new devices.
              "deviceId": "A String", # The Android ID of the device.
                  # This field will always be present.
              "managementType": "A String", # Identifies the extent to which the device is controlled by an Android
                  # EMM in various deployment configurations. <br><br>
                  # Possible values include:
                  # <ul><li>"<code>managedDevice</code>", a device where the DPC is set as
                  # device owner,</li>
                  # <li>"<code>managedProfile</code>", a device where the DPC is set as profile
                  # owner.</li></ul>
              "dpcPackageName": "A String", # Policy app on the device.
              "userId": "A String", # The ID of the user.
                  # This field will always be present.
            },
            "productApprovalEvent": { # An event generated when a product's approval status is changed. # Notifications about changes to a product's approval status.
              "approved": "A String", # Whether the product was approved or unapproved.
                  # This field will always be present.
              "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which the
                  # approval status has changed. This field will always be present.
            },
            "timestampMillis": "A String", # The time when the notification was published in
                # milliseconds since 1970-01-01T00:00:00Z.
                # This will always be present.
            "installFailureEvent": { # An event generated when an app installation failed on a device # Notifications about an app installation failure.
              "deviceId": "A String", # The Android ID of the device.
                  # This field will always be present.
              "failureReason": "A String", # The reason for the installation failure.
                  # This field will always be present.
              "failureDetails": "A String", # Additional details on the failure if applicable.
              "userId": "A String", # The ID of the user.
                  # This field will always be present.
              "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which the
                  # install failure event occured. This field will always be present.
            },
            "newPermissionsEvent": { # An event generated when new permissions are added to an app. # Notifications about new app permissions.
              "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which new
                  # permissions were added. This field will always be present.
              "approvedPermissions": [ # The set of permissions that the enterprise admin has already approved for
                  # this application.
                  # Use Permissions.Get on the EMM API to retrieve details about these
                  # permissions.
                "A String",
              ],
              "requestedPermissions": [ # The set of permissions that the app is currently requesting.
                  # Use Permissions.Get on the EMM API to retrieve details about these
                  # permissions.
                "A String",
              ],
            },
            "deviceReportUpdateEvent": { # An event generated when an updated device report is available. # Notifications about device report updates.
              "report": { # Device report updated with the latest app states for managed apps on the # The device report updated with the latest app states.
                  # This field will always be present.
                  # device.
                "appState": [ # List of app states set by managed apps on the device. App states are
                    # defined by the app's developers.
                    # This field will always be present.
                  { # List of states set by the app.
                    "packageName": "A String", # The package name of the app.
                        # This field will always be present.
                    "keyedAppState": [ # List of keyed app states.
                        # This field will always be present.
                      { # Represents a keyed app state containing a key, timestamp, severity level,
                          # optional description, and optional data.
                        "stateTimestampMillis": "A String", # Timestamp of when the app set the state in milliseconds since epoch.
                            # This field will always be present.
                        "severity": "A String", # Severity of the app state.
                            # This field will always be present.
                        "message": "A String", # Free-form, human-readable message describing the app state. For example,
                            # an error message. To prevent XSS, we recommend removing any HTML from the
                            # message before displaying it.
                        "key": "A String", # Key indicating what the app is providing a state for. The content of the
                            # key is set by the app's developer. To prevent XSS, we recommend removing
                            # any HTML from the key before displaying it.
                            # This field will always be present.
                        "data": "A String", # Additional field intended for machine-readable data. For example, a number
                            # or JSON object. To prevent XSS, we recommend removing any HTML from the
                            # data before displaying it.
                      },
                    ],
                  },
                ],
                "lastUpdatedTimestampMillis": "A String", # The timestamp of the last report update in milliseconds since epoch.
                    # This field will always be present.
              },
              "deviceId": "A String", # The Android ID of the device.
                  # This field will always be present.
              "userId": "A String", # The ID of the user.
                  # This field will always be present.
            },
            "productAvailabilityChangeEvent": { # An event generated whenever a product's availability changes. # Notifications about product availability changes.
              "productId": "A String", # The id of the product (e.g. "app:com.google.android.gm") for which the
                  # product availability changed. This field will always be present.
              "availabilityStatus": "A String", # The new state of the product.
                  # This field will always be present.
            },
            "notificationType": "A String", # Type of the notification.
            "enterpriseId": "A String", # The ID of the enterprise for which the notification is sent.
                # This will always be present.
          },
        ],
      }

`sendTestPushNotification(enterpriseId, x__xgafv=None)`

    Sends a test notification to validate the EMM integration with
    the Google Cloud Pub/Sub service for this enterprise.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
        "topicName": "A String", # The name of the Cloud Pub/Sub topic to which notifications for this
            # enterprise's enrolled account will be sent.
        "messageId": "A String", # The message ID of the test push notification that was sent.
      }

`setAccount(enterpriseId, body=None, x__xgafv=None)`

    Sets the account that will be used to authenticate to the API as the
    enterprise.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      body: object, The request body.
        The object takes the form of:

    { # A service account that can be used to authenticate as the enterprise to
          # API calls that require such authentication.
        "accountEmail": "A String", # The email address of the service account.
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A service account that can be used to authenticate as the enterprise to
            # API calls that require such authentication.
          "accountEmail": "A String", # The email address of the service account.
        }

`setStoreLayout(enterpriseId, body=None, x__xgafv=None)`

    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
    <a href="/android/work/play/emm-api/v1/users/setAvailableProductSet">
    setAvailableProductSet</a> 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.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      body: object, The request body.
        The object takes the form of:

    { # General setting for the managed Google Play store layout,
          # currently only specifying the page to display the first time
          # the store is opened.
        "homepageId": "A String", # The ID of the store page to be used as the homepage. The homepage is the
            # first page shown in the managed Google Play Store.
            #
            # Not specifying a homepage is equivalent to setting the store layout
            # type to "basic".
        "storeLayoutType": "A String", # The store layout type. By default, this value is set to "basic"
            # if the homepageId field is not set, and to "custom" otherwise.
            # If set to "basic", the layout will consist of all approved apps that
            # have been whitelisted for the user.
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # General setting for the managed Google Play store layout,
            # currently only specifying the page to display the first time
            # the store is opened.
          "homepageId": "A String", # The ID of the store page to be used as the homepage. The homepage is the
              # first page shown in the managed Google Play Store.
              #
              # Not specifying a homepage is equivalent to setting the store layout
              # type to "basic".
          "storeLayoutType": "A String", # The store layout type. By default, this value is set to "basic"
              # if the homepageId field is not set, and to "custom" otherwise.
              # If set to "basic", the layout will consist of all approved apps that
              # have been whitelisted for the user.
        }

`unenroll(enterpriseId, x__xgafv=None)`

    Unenrolls an enterprise from the calling EMM.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format