Back to Content Management API

productPages

Returns array of all your product pages in a draft or published state paginated by a cursor.

Arguments

  • Name
    after
    Type
    String
    Description

    Returns the elements that come after the specified cursor.

  • Name
    before
    Type
    String
    Description

    Returns the elements that come before the specified cursor.

  • Name
    first
    Type
    Int
    Description

    Returns up to the first n elements from the list.

  • Name
    last
    Type
    Int
    Description

    Returns up to the last n elements from the list.

  • Name
    version
    Type
    Version
    Description

    The state of the page you want to retrieve.

    • To get the latest content use CURRENT.
    • To get the latest published content use PUBLISHED

Returns

  • Name
    ProductPageConnection.edges
    Type
    [ProductPageEdge!]!
    Description

    A list of edges.

  • Name
    ProductPageConnection.nodes
    Type
    [ProductPage!]!
    Description

    A list of the nodes contained in ProductPageEdge.

  • Name
    ProductPageConnection.pageInfo
    Type
    ProductPageInfo!
    Description

    Information to aid in pagination.

  • Name
    ProductPageConnection.totalCount
    Type
    Int
    Description

    The total count of items.

Request

import { PackClient } from '@pack/client'
const packClient = new PackClient({
  token: 'YOUR-PACK-TOKEN'
});

const query = `
query ProductPages($first: Int) {
  productPages(
    first: $first
  ) {
    totalCount
    edges {
      node {
        ... on PageResource {
          title
          handle
          description
        }
      }
    }
  }
}
`;
const variables = {
  first: 3,
}
const response = await packClient.fetch(query, { variables: variables });
console.log(response.data);

Response

{
  "data": {
    "productPages": {
      "totalCount": 26,
      "edges": [
        {
          "node": {
            "title": "product-title",
            "handle": "product-handle",
            "description": "product-description"
          }
        },
        {
          "node": {
            "title": "product-title",
            "handle": "product-handle",
            "description": "product-description"
          }
        },
        {
          "node": {
            "title": "product-title",
            "handle": "product-handle",
            "description": "product-description"
          }
        }
      ]
    }
  }
}

Was this page helpful?