<!--
{
  "availability" : [
    "App Store Server API: 1.22.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppStoreServerAPI",
  "identifier" : "/documentation/AppStoreServerAPI/Get-Customer-Groups",
  "metadataVersion" : "0.1.0",
  "role" : "Web Service Endpoint",
  "symbol" : {
    "kind" : "Web Service Endpoint",
    "modules" : [
      "App Store Server API"
    ],
    "preciseIdentifier" : "rest:app_store_server_api:get:groups-v1-currentGroups-{}"
  },
  "title" : "Get Customer Groups"
}
-->

# Get Customer Groups

Get the groups that a customer belongs to, and their role in each group.

## Discussion

> Important:
> This endpoint is only available in the sandbox environment.

Call this endpoint to determine whether a customer has access to your app or its in-app purchases through an organization or group, and what role they hold in it. A *group* consists of customers whose access is purchased and managed centrally by a single account, rather than individually. Groups come from multiseat purchases: an organization buys seats through Volume Purchasing, or a subscriber buys seats through Group Purchases and invites others to join.

Use this endpoint only if your app offers a group experience where a customer’s group or role changes what you present — for example, exposing extra controls to a customer with the `ADMIN` [`role`](/documentation/AppStoreServerAPI/role), or grouping members into that administrator’s shared workspace. Group membership is separate from entitlement. To unlock content for a customer, read their transactions; don’t depend on group membership.

Provide any transaction identifier that belongs to the customer for your app. The response, [`GetCustomerGroupsResponse`](/documentation/AppStoreServerAPI/GetCustomerGroupsResponse), contains a [`GroupEntry`](/documentation/AppStoreServerAPI/GroupEntry) for each group the customer currently belongs to. Each entry identifies the group with a [`groupId`](/documentation/AppStoreServerAPI/groupId) and indicates the kind of group with a [`groupType`](/documentation/AppStoreServerAPI/groupType). For a group with a [`groupType`](/documentation/AppStoreServerAPI/groupType) of `ORGANIZATION`, the entry also lists the customer’s role for each of your products in a [`RoleEntry`](/documentation/AppStoreServerAPI/RoleEntry) array. If the customer doesn’t belong to any group, the response contains an empty `groups` array.

A customer can belong to more than one group, and can hold a different role in each.

To list the members of a group, call the [`Get Group Members`](/documentation/AppStoreServerAPI/Get-Group-Members) endpoint.

### Test in the sandbox environment

In the sandbox environment, if the customer doesn’t belong to any groups with a [`groupType`](/documentation/AppStoreServerAPI/groupType) of `CONSUMER`, this endpoint returns a placeholder group with a `groupType` of `ORGANIZATION`:

```json
{
  "groups": [
    {
      "groupId": "900000000000000000",
      "groupType": "ORGANIZATION",
      "roles": [
        {
          "productId": "example.productId.one",
          "role": "ADMIN"
        },
        {
          "productId": "example.productId.two",
          "role": "NONE"
        }
      ]
    }
  ]
}
```

Send the placeholder [`groupId`](/documentation/AppStoreServerAPI/groupId) of `900000000000000000` to the [`Get Group Members`](/documentation/AppStoreServerAPI/Get-Group-Members) endpoint to get its corresponding placeholder response.

For more information about configuring your subscription for multiseat purchases, see [Manage purchase options for an auto-renewable subscription](https://developer.apple.com/help/app-store-connect/manage-subscriptions/manage-purchase-options-for-auto-renewable-subscriptions).

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)