# ArticleConnection A connection to a list of Article items. ## Connection Structure ```graphql type ArticleConnection { edges: [ArticleEdge] nodes: [Article] pageInfo: PageInfo! totalCount: Int } ``` ## Pagination Arguments | Argument | Type | Description | |----------|------|-------------| | first | Int | Returns the first n items | | last | Int | Returns the last n items | | before | String | Returns items before the specified cursor | | after | String | Returns items after the specified cursor | ## PageInfo Structure The `pageInfo` object contains information about pagination and the current position within the result set. It includes the following fields: - `hasNextPage` (Boolean!): Indicates whether there are more items after the current page - `hasPreviousPage` (Boolean!): Indicates whether there are items before the current page - `startCursor` (String): The cursor of the first item in the current page - `endCursor` (String): The cursor of the last item in the current page ## Example ```graphql { articles(first: 10, after: "eyJkaXJlY3Rpb24iOiJuZXh0IiwibGFzdF9pZCI6MzQ1fQ==") { edges { node { id title } cursor } nodes { id title } pageInfo { hasNextPage hasPreviousPage startCursor endCursor } totalCount } } ``` ## Edge Type An `ArticleEdge` represents a single article within the connection. Each edge contains: - `node` (Article): The article object itself, containing all article data - `cursor` (String!): An opaque string that marks the position of this article in the connection, used for pagination ## Related Types - [ArticleEdge](/reference/storefront/1.3.0/connections/article-edge) - [Article](/reference/storefront/1.3.0/objects/article) - [PageInfo](/reference/storefront/1.3.0/objects/page-info)