> [!NOTE]
> **Note:** Requires [authorization](https://developers.google.com/android/work/play/emm-api/v1/users/getAvailableProductSet#auth).

<br />

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

<br />

## Request

### HTTP request

```
GET https://www.googleapis.com/androidenterprise/v1/enterprises/enterpriseId/users/userId/availableProductSet
```

### Parameters

| Parameter name | Value | Description |
|---|---|---|
| **Path parameters** |||
| `enterpriseId` | `string` | The ID of the enterprise. |
| `userId` | `string` | The ID of the user. |

### Authorization

This request requires authorization with the following scope:

| Scope |
|---|
| `https://www.googleapis.com/auth/androidenterprise` |

For more information, see the [authentication and authorization](https://developers.google.com/android/work/play/emm-api/v1/how-tos/authorizing) page.

### Request body

Do not supply a request body with this method.

## Response

If successful, this method returns a response body with the following structure:

```
{
  "kind": "androidenterprise#productSet",
  "productId": [
    string
  ],
  "productSetBehavior": string,
  "productVisibility": [
    {
      "productId": string,
      "tracks": [
        string
      ],
      "trackIds": [
        string
      ]
    }
  ]
}
```

| Property name | Value | Description | Notes |
|---|---|---|---|
| `productId[]` | `list` | The list of product IDs making up the set of products. |   |
| `productSetBehavior` | `string` | The interpretation of this product set. "unknown" should never be sent and is ignored if received. "whitelist" means that the user is entitled to access the product set. "includeAll" means that all products are accessible, including products that are approved, products with revoked approval, and products that have never been approved. "allApproved" means that the user is entitled to access all products that are approved for the enterprise. If the value is "allApproved" or "includeAll", the productId field is ignored. If no value is provided, it is interpreted as "whitelist" for backwards compatibility. Further "allApproved" or "includeAll" does not enable automatic visibility of "alpha" or "beta" tracks for Android app. Use ProductVisibility to enable "alpha" or "beta" tracks per user. <br /> Acceptable values are: - "`allApproved`" - "`includeAll`" - "`whitelist`" |   |
| `productVisibility[]` | `list` | Additional list of product IDs making up the product set. Unlike the productID array, in this list It's possible to specify which tracks (alpha, beta, production) of a product are visible to the user. See ProductVisibility and its fields for more information. Specifying the same product ID both here and in the productId array is not allowed and it will result in an error. |   |
| `productVisibility[].productId` | `string` | The product ID to make visible to the user. Required for each item in the productVisibility list. |   |
| `productVisibility[].tracks[]` | `list` | Deprecated. Use `trackIds` instead. |   |
| `productVisibility[].trackIds[]` | `list` | Grants the user visibility to the specified product track(s), identified by `trackIds`. |   |
| `kind` | `string` |   |   |