# Google Play EMM API . users

## Instance Methods

Deleted an EMM-managed user.

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.

Generates a token (activation code) to allow this user to configure their work account in the Android Setup Wizard. Revokes any previously generated token.

Retrieves a user's details.

Retrieves the set of products a user is entitled to access.

Creates a new EMM-managed user.

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.

Updates the details of an EMM-managed user.

Revokes a previously generated token (activation code) for the user.

Modifies the set of products a user is entitled to access.

Updates the details of an EMM-managed user.

### Method Details

`delete(enterpriseId, userId)`

    Deleted an EMM-managed user.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)

`generateAuthenticationToken(enterpriseId, userId)`

    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.

    This call only works with EMM-managed accounts.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)

    Returns:
      An object of the form:

        { # An AuthenticationToken is used by the EMM's device policy client on a device to provision the given EMM-managed user on that device.
        "kind": "androidenterprise#authenticationToken", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#authenticationToken".
        "token": "A String", # The authentication token to be passed to the device policy client on the device where it can be used to provision the account for which this token was generated.
      }

`generateToken(enterpriseId, userId)`

    Generates a token (activation code) to allow this user to configure their work account in the Android Setup Wizard. Revokes any previously generated token.

    This call only works with Google managed accounts.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)

    Returns:
      An object of the form:

        { # A UserToken is used by a user when setting up a managed device or profile with their work account on a device. When the user enters their email address and token (activation code) the appropriate EMM app can be automatically downloaded.
        "kind": "androidenterprise#userToken", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#userToken".
        "userId": "A String", # The unique ID for the user.
        "token": "A String", # The token (activation code) to be entered by the user. This consists of a sequence of decimal digits. Note that the leading digit may be 0.
      }

`get(enterpriseId, userId)`

    Retrieves a user's details.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)

    Returns:
      An object of the form:

        { # A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model:
            # - Google managed domain identity model requires synchronization to Google account sources (via primaryEmail).
            # - Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.
          "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user".
          "displayName": "A String", # The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as "Example, Inc.") or your name (as EMM). Not used for Google-managed user accounts.
          "accountIdentifier": "A String", # A unique identifier you create for this user, such as "user342" or "asset#44418". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.
          "managementType": "A String", # The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.
          "primaryEmail": "A String", # The user's primary email address, for example, "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users.
          "accountType": "A String", # The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.
          "id": "A String", # The unique ID for the user.
        }

`getAvailableProductSet(enterpriseId, userId)`

    Retrieves the set of products a user is entitled to access.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)

    Returns:
      An object of the form:

        { # A set of products.
          "kind": "androidenterprise#productSet", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#productSet".
          "productSetBehavior": "A String", # The interpretation of this product set. "unknown" should never be sent and ignored if received. "whitelist" means that this product set constitutes a whitelist. "includeAll" means that all products are accessible (the value of the productId field is therefore ignored). If a value is not supplied, it is interpreted to be "whitelist" for backwards compatibility.
          "productId": [ # The list of product IDs making up the set of products.
            "A String",
          ],
        }

`insert(enterpriseId, body)`

    Creates a new EMM-managed user.

    The 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.

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

    { # A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model:
          # - Google managed domain identity model requires synchronization to Google account sources (via primaryEmail).
          # - Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.
        "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user".
        "displayName": "A String", # The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as "Example, Inc.") or your name (as EMM). Not used for Google-managed user accounts.
        "accountIdentifier": "A String", # A unique identifier you create for this user, such as "user342" or "asset#44418". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.
        "managementType": "A String", # The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.
        "primaryEmail": "A String", # The user's primary email address, for example, "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users.
        "accountType": "A String", # The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.
        "id": "A String", # The unique ID for the user.
      }

    Returns:
      An object of the form:

        { # A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model:
            # - Google managed domain identity model requires synchronization to Google account sources (via primaryEmail).
            # - Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.
          "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user".
          "displayName": "A String", # The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as "Example, Inc.") or your name (as EMM). Not used for Google-managed user accounts.
          "accountIdentifier": "A String", # A unique identifier you create for this user, such as "user342" or "asset#44418". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.
          "managementType": "A String", # The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.
          "primaryEmail": "A String", # The user's primary email address, for example, "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users.
          "accountType": "A String", # The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.
          "id": "A String", # The unique ID for the user.
        }

`list(enterpriseId, email)`

    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.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      email: string, The exact primary email address of the user to look up. (required)

    Returns:
      An object of the form:

        { # The matching user resources.
        "kind": "androidenterprise#usersListResponse", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#usersListResponse".
        "user": [ # A user of an enterprise.
          { # A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model:
                # - Google managed domain identity model requires synchronization to Google account sources (via primaryEmail).
                # - Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.
              "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user".
              "displayName": "A String", # The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as "Example, Inc.") or your name (as EMM). Not used for Google-managed user accounts.
              "accountIdentifier": "A String", # A unique identifier you create for this user, such as "user342" or "asset#44418". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.
              "managementType": "A String", # The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.
              "primaryEmail": "A String", # The user's primary email address, for example, "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users.
              "accountType": "A String", # The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.
              "id": "A String", # The unique ID for the user.
            },
        ],
      }

`patch(enterpriseId, userId, body)`

    Updates the details of an EMM-managed user.

    Can be used with EMM-managed users only (not Google managed users). Pass the new details in the 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. This method supports patch semantics.

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

    { # A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model:
          # - Google managed domain identity model requires synchronization to Google account sources (via primaryEmail).
          # - Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.
        "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user".
        "displayName": "A String", # The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as "Example, Inc.") or your name (as EMM). Not used for Google-managed user accounts.
        "accountIdentifier": "A String", # A unique identifier you create for this user, such as "user342" or "asset#44418". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.
        "managementType": "A String", # The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.
        "primaryEmail": "A String", # The user's primary email address, for example, "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users.
        "accountType": "A String", # The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.
        "id": "A String", # The unique ID for the user.
      }

    Returns:
      An object of the form:

        { # A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model:
            # - Google managed domain identity model requires synchronization to Google account sources (via primaryEmail).
            # - Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.
          "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user".
          "displayName": "A String", # The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as "Example, Inc.") or your name (as EMM). Not used for Google-managed user accounts.
          "accountIdentifier": "A String", # A unique identifier you create for this user, such as "user342" or "asset#44418". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.
          "managementType": "A String", # The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.
          "primaryEmail": "A String", # The user's primary email address, for example, "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users.
          "accountType": "A String", # The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.
          "id": "A String", # The unique ID for the user.
        }

`revokeToken(enterpriseId, userId)`

    Revokes a previously generated token (activation code) for the user.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)

`setAvailableProductSet(enterpriseId, userId, body)`

    Modifies the set of products a user is entitled to access.

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

    { # A set of products.
        "kind": "androidenterprise#productSet", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#productSet".
        "productSetBehavior": "A String", # The interpretation of this product set. "unknown" should never be sent and ignored if received. "whitelist" means that this product set constitutes a whitelist. "includeAll" means that all products are accessible (the value of the productId field is therefore ignored). If a value is not supplied, it is interpreted to be "whitelist" for backwards compatibility.
        "productId": [ # The list of product IDs making up the set of products.
          "A String",
        ],
      }

    Returns:
      An object of the form:

        { # A set of products.
          "kind": "androidenterprise#productSet", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#productSet".
          "productSetBehavior": "A String", # The interpretation of this product set. "unknown" should never be sent and ignored if received. "whitelist" means that this product set constitutes a whitelist. "includeAll" means that all products are accessible (the value of the productId field is therefore ignored). If a value is not supplied, it is interpreted to be "whitelist" for backwards compatibility.
          "productId": [ # The list of product IDs making up the set of products.
            "A String",
          ],
        }

`update(enterpriseId, userId, body)`

    Updates the details of an EMM-managed user.

    Can be used with EMM-managed users only (not Google managed users). Pass the new details in the 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.

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

    { # A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model:
          # - Google managed domain identity model requires synchronization to Google account sources (via primaryEmail).
          # - Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.
        "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user".
        "displayName": "A String", # The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as "Example, Inc.") or your name (as EMM). Not used for Google-managed user accounts.
        "accountIdentifier": "A String", # A unique identifier you create for this user, such as "user342" or "asset#44418". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.
        "managementType": "A String", # The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.
        "primaryEmail": "A String", # The user's primary email address, for example, "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users.
        "accountType": "A String", # The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.
        "id": "A String", # The unique ID for the user.
      }

    Returns:
      An object of the form:

        { # A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model:
            # - Google managed domain identity model requires synchronization to Google account sources (via primaryEmail).
            # - Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.
          "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user".
          "displayName": "A String", # The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as "Example, Inc.") or your name (as EMM). Not used for Google-managed user accounts.
          "accountIdentifier": "A String", # A unique identifier you create for this user, such as "user342" or "asset#44418". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.
          "managementType": "A String", # The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.
          "primaryEmail": "A String", # The user's primary email address, for example, "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users.
          "accountType": "A String", # The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.
          "id": "A String", # The unique ID for the user.
        }