# ProductGroupConnection A connection to a list of ProductGroup items. ## Connection Structure ```graphql type ProductGroupConnection { edges: [ProductGroupEdge] nodes: [ProductGroup] pageInfo: PageInfo! totalCount: Int } ``` ## Pagination Arguments | Argument | Type | Description | |----------|------|-------------| | first | Int | Returns the first n items from the connection | | last | Int | Returns the last n items from the connection | | before | String | Cursor for backward pagination | | after | String | Cursor for forward pagination | ## PageInfo Structure The `pageInfo` object contains pagination metadata about the current page of results: - **hasNextPage** (Boolean!): Whether there are more items after the current page - **hasPreviousPage** (Boolean!): Whether there are items before the current page - **startCursor** (String): Cursor pointing to the first item in the current page - **endCursor** (String): Cursor pointing to the last item in the current page ## Example ```graphql { productGroups(first: 10, after: "eyJpZCI6IjEyMzQ1In0=") { edges { node { id name } cursor } nodes { id name } pageInfo { hasNextPage hasPreviousPage startCursor endCursor } totalCount } } ``` ## Edge Type The `ProductGroupEdge` type represents a single item in the connection and contains: - **node** (ProductGroup): The ProductGroup object - **cursor** (String!): An opaque cursor value for pagination, used with the `before` and `after` arguments ## Related Types - [ProductGroupEdge](/reference/storefront/1.3.0/connections/product-group-edge) - [ProductGroup](/reference/storefront/1.3.0/objects/product-group) - [PageInfo](/reference/storefront/1.3.0/objects/page-info)