# skuGroups (https://developer.godaddy.com/en/docs/references/rest/catalog/sku-group/queries/skuGroups)

***

title: skuGroups
description: "Query `skuGroups` on the catalog subgraph (SKU group)."
full: true
----------

query

Requires `commerce.product:read`.

Query `skuGroups` on the catalog subgraph (SKU group).

## Required headers

| Header       | Required | Description                                                                                                                     |
| ------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `x-store-id` | Yes      | ID of the store the operation targets. Omitting it returns HTTP 200 with a GraphQL error: `extensions.code: "UNAUTHENTICATED"`. |

Go to [Authentication](https://developer.godaddy.com/docs/api-users/auth) for credential setup.

## Arguments

* `after` `String` **optional**
* `before` `String` **optional**
* `channelId` `SKUGroupChannelIdFilter` **optional**
  * `eq` `String` **optional**
  * `in` `[String!]` **optional**
* `createdAt` `CreatedAtFilter` **optional**
  * `gt` `String` **optional**
  * `lt` `String` **optional**
* `first` `Int` **optional**
* `hasCompareAt` `HasCompareAtFilter` **optional**
  * `currencyCode` `String!` **required** — The three-letter currency code of prices to match.
  * `exists` `Boolean!` **required** — When true, returns items with at least one price that has a compareAtValue > 0 (on sale) in the requested currency. When false, returns items that have at least one price in the requested currency but none with a compareAtValue > 0 (available at regular price in that currency).
* `hasSKUs` `Boolean` **optional** — When true, returns only SKU groups with at least one SKU. When false, returns only SKU groups with zero SKUs.
* `id` `SKUGroupIdsFilter` **optional**
  * `eq` `String` **optional**
  * `in` `[String!]` **optional**
* `label` `LabelFilter` **optional**
  * `contains` `String` **optional** — Filters items where the label contains the specified string, case-insensitive.
  * `eq` `String` **optional**
* `last` `Int` **optional**
* `listId` `ListIdFilter` **optional**
  * `eq` `String` **optional**
  * `in` `[String!]` **optional**
  * `isNull` `Boolean` **optional**
* `name` `NameFilter` **optional**
  * `contains` `String` **optional** — Filters items where the name contains the specified string, case-insensitive.
  * `eq` `String` **optional**
  * `in` `[String!]` **optional** — Filters items where the name matches any of the specified names.
* `orderBy` `SKUGroupOrderBy` **optional**
  * `createdAt` `OrderByDirectionEnum` **optional**
  * `id` `OrderByDirectionEnum` **optional**
  * `label` `OrderByDirectionEnum` **optional**
  * `lowestPrice` `OrderByDirectionEnum` **optional**
  * `name` `OrderByDirectionEnum` **optional**
  * `saleCount` `OrderByDirectionEnum` **optional**
  * `updatedAt` `OrderByDirectionEnum` **optional**
* `paginationType` `PaginationType` **optional** Default: `"CURSOR"`.
* `priceRange` `PriceRangeFilter` **optional**
  * `currencyCode` `String!` **required** — The three-letter currency code of prices to match.
  * `max` `Float` **optional** — The inclusive maximum integer price value. At least one of min or max is required.
  * `min` `Float` **optional** — The inclusive minimum integer price value. At least one of min or max is required.
* `referenceValue` `ReferenceValueFilter` **optional**
  * `eq` `String` **optional**
  * `in` `[String!]` **optional**
* `status` `SKUGroupStatusFilter` **optional**
  * `eq` `String` **optional**
  * `in` `[String!]` **optional**
* `type` `SKUGroupTypeFilter` **optional**
  * `eq` `String` **optional**
  * `in` `[String!]` **optional**
* `updatedAt` `UpdatedAtFilter` **optional**
  * `gt` `String` **optional**
  * `lt` `String` **optional**

## Possible returns

* `QuerySkuGroupsConnection` `QuerySkuGroupsConnection`

- `edges` `[QuerySkuGroupsConnectionEdge]` **nullable**
- `pageInfo` `PageInfo!` **non-null**
- `totalCount` `Int!` **non-null**
