# Google Play EMM API . installs

## Instance Methods

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.

Retrieves details of an installation of an app on a device.

Retrieves the details of all apps installed on the specified device.

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. This method supports patch semantics.

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.

### Method Details

`delete(enterpriseId, userId, deviceId, 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.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)
      deviceId: string, The Android ID of the device. (required)
      installId: string, The ID of the product represented by the install, e.g. "app:com.google.android.gm". (required)

`get(enterpriseId, userId, deviceId, installId)`

    Retrieves details of an installation of an app on a device.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)
      deviceId: string, The Android ID of the device. (required)
      installId: string, The ID of the product represented by the install, e.g. "app:com.google.android.gm". (required)

    Returns:
      An object of the form:

        { # The existence of an Installs resource indicates that an app is installed on a particular device (or that an install is pending).
            #
            # The API can be used to create an install resource using the update method. This triggers the actual install of the app on the device. If the user does not already have an entitlement for the app, then an attempt is made to create one. If this fails (for example, because the app is not free and there is no available license), then the creation of the install fails.
            #
            # The API can also be used to update an installed app. If the update method is used on an existing install, then the app will be updated to the latest available version.
            #
            # Note that it is not possible to force the installation of a specific version of an app: the version code is read-only.
            #
            # If a user installs an app themselves (as permitted by the enterprise), then again an install resource and possibly an entitlement resource are automatically created.
            #
            # The API can also be used to delete an install resource, which triggers the removal of the app from the device. Note that deleting an install does not automatically remove the corresponding entitlement, even if there are no remaining installs. The install resource will also be deleted if the user uninstalls the app themselves.
          "installState": "A String", # Install state. The state "installPending" means that an install request has recently been made and download to the device is in progress. The state "installed" means that the app has been installed. This field is read-only.
          "versionCode": 42, # The version of the installed product. Guaranteed to be set only if the install state is "installed".
          "kind": "androidenterprise#install", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#install".
          "productId": "A String", # The ID of the product that the install is for. For example, "app:com.google.android.gm".
        }

`list(enterpriseId, userId, deviceId)`

    Retrieves the details of all apps installed on the specified device.

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

    Returns:
      An object of the form:

        { # The install resources for the device.
        "kind": "androidenterprise#installsListResponse", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#installsListResponse".
        "install": [ # An installation of an app for a user on a specific device. The existence of an install implies that the user must have an entitlement to the app.
          { # The existence of an Installs resource indicates that an app is installed on a particular device (or that an install is pending).
                #
                # The API can be used to create an install resource using the update method. This triggers the actual install of the app on the device. If the user does not already have an entitlement for the app, then an attempt is made to create one. If this fails (for example, because the app is not free and there is no available license), then the creation of the install fails.
                #
                # The API can also be used to update an installed app. If the update method is used on an existing install, then the app will be updated to the latest available version.
                #
                # Note that it is not possible to force the installation of a specific version of an app: the version code is read-only.
                #
                # If a user installs an app themselves (as permitted by the enterprise), then again an install resource and possibly an entitlement resource are automatically created.
                #
                # The API can also be used to delete an install resource, which triggers the removal of the app from the device. Note that deleting an install does not automatically remove the corresponding entitlement, even if there are no remaining installs. The install resource will also be deleted if the user uninstalls the app themselves.
              "installState": "A String", # Install state. The state "installPending" means that an install request has recently been made and download to the device is in progress. The state "installed" means that the app has been installed. This field is read-only.
              "versionCode": 42, # The version of the installed product. Guaranteed to be set only if the install state is "installed".
              "kind": "androidenterprise#install", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#install".
              "productId": "A String", # The ID of the product that the install is for. For example, "app:com.google.android.gm".
            },
        ],
      }

`patch(enterpriseId, userId, deviceId, installId, body)`

    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. This method supports patch semantics.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)
      deviceId: string, The Android ID of the device. (required)
      installId: string, The ID of the product represented by the install, e.g. "app:com.google.android.gm". (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The existence of an Installs resource indicates that an app is installed on a particular device (or that an install is pending).
          #
          # The API can be used to create an install resource using the update method. This triggers the actual install of the app on the device. If the user does not already have an entitlement for the app, then an attempt is made to create one. If this fails (for example, because the app is not free and there is no available license), then the creation of the install fails.
          #
          # The API can also be used to update an installed app. If the update method is used on an existing install, then the app will be updated to the latest available version.
          #
          # Note that it is not possible to force the installation of a specific version of an app: the version code is read-only.
          #
          # If a user installs an app themselves (as permitted by the enterprise), then again an install resource and possibly an entitlement resource are automatically created.
          #
          # The API can also be used to delete an install resource, which triggers the removal of the app from the device. Note that deleting an install does not automatically remove the corresponding entitlement, even if there are no remaining installs. The install resource will also be deleted if the user uninstalls the app themselves.
        "installState": "A String", # Install state. The state "installPending" means that an install request has recently been made and download to the device is in progress. The state "installed" means that the app has been installed. This field is read-only.
        "versionCode": 42, # The version of the installed product. Guaranteed to be set only if the install state is "installed".
        "kind": "androidenterprise#install", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#install".
        "productId": "A String", # The ID of the product that the install is for. For example, "app:com.google.android.gm".
      }

    Returns:
      An object of the form:

        { # The existence of an Installs resource indicates that an app is installed on a particular device (or that an install is pending).
            #
            # The API can be used to create an install resource using the update method. This triggers the actual install of the app on the device. If the user does not already have an entitlement for the app, then an attempt is made to create one. If this fails (for example, because the app is not free and there is no available license), then the creation of the install fails.
            #
            # The API can also be used to update an installed app. If the update method is used on an existing install, then the app will be updated to the latest available version.
            #
            # Note that it is not possible to force the installation of a specific version of an app: the version code is read-only.
            #
            # If a user installs an app themselves (as permitted by the enterprise), then again an install resource and possibly an entitlement resource are automatically created.
            #
            # The API can also be used to delete an install resource, which triggers the removal of the app from the device. Note that deleting an install does not automatically remove the corresponding entitlement, even if there are no remaining installs. The install resource will also be deleted if the user uninstalls the app themselves.
          "installState": "A String", # Install state. The state "installPending" means that an install request has recently been made and download to the device is in progress. The state "installed" means that the app has been installed. This field is read-only.
          "versionCode": 42, # The version of the installed product. Guaranteed to be set only if the install state is "installed".
          "kind": "androidenterprise#install", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#install".
          "productId": "A String", # The ID of the product that the install is for. For example, "app:com.google.android.gm".
        }

`update(enterpriseId, userId, deviceId, installId, body)`

    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.

    Args:
      enterpriseId: string, The ID of the enterprise. (required)
      userId: string, The ID of the user. (required)
      deviceId: string, The Android ID of the device. (required)
      installId: string, The ID of the product represented by the install, e.g. "app:com.google.android.gm". (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The existence of an Installs resource indicates that an app is installed on a particular device (or that an install is pending).
          #
          # The API can be used to create an install resource using the update method. This triggers the actual install of the app on the device. If the user does not already have an entitlement for the app, then an attempt is made to create one. If this fails (for example, because the app is not free and there is no available license), then the creation of the install fails.
          #
          # The API can also be used to update an installed app. If the update method is used on an existing install, then the app will be updated to the latest available version.
          #
          # Note that it is not possible to force the installation of a specific version of an app: the version code is read-only.
          #
          # If a user installs an app themselves (as permitted by the enterprise), then again an install resource and possibly an entitlement resource are automatically created.
          #
          # The API can also be used to delete an install resource, which triggers the removal of the app from the device. Note that deleting an install does not automatically remove the corresponding entitlement, even if there are no remaining installs. The install resource will also be deleted if the user uninstalls the app themselves.
        "installState": "A String", # Install state. The state "installPending" means that an install request has recently been made and download to the device is in progress. The state "installed" means that the app has been installed. This field is read-only.
        "versionCode": 42, # The version of the installed product. Guaranteed to be set only if the install state is "installed".
        "kind": "androidenterprise#install", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#install".
        "productId": "A String", # The ID of the product that the install is for. For example, "app:com.google.android.gm".
      }

    Returns:
      An object of the form:

        { # The existence of an Installs resource indicates that an app is installed on a particular device (or that an install is pending).
            #
            # The API can be used to create an install resource using the update method. This triggers the actual install of the app on the device. If the user does not already have an entitlement for the app, then an attempt is made to create one. If this fails (for example, because the app is not free and there is no available license), then the creation of the install fails.
            #
            # The API can also be used to update an installed app. If the update method is used on an existing install, then the app will be updated to the latest available version.
            #
            # Note that it is not possible to force the installation of a specific version of an app: the version code is read-only.
            #
            # If a user installs an app themselves (as permitted by the enterprise), then again an install resource and possibly an entitlement resource are automatically created.
            #
            # The API can also be used to delete an install resource, which triggers the removal of the app from the device. Note that deleting an install does not automatically remove the corresponding entitlement, even if there are no remaining installs. The install resource will also be deleted if the user uninstalls the app themselves.
          "installState": "A String", # Install state. The state "installPending" means that an install request has recently been made and download to the device is in progress. The state "installed" means that the app has been installed. This field is read-only.
          "versionCode": 42, # The version of the installed product. Guaranteed to be set only if the install state is "installed".
          "kind": "androidenterprise#install", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#install".
          "productId": "A String", # The ID of the product that the install is for. For example, "app:com.google.android.gm".
        }