> ## Documentation Index
> Fetch the complete documentation index at: https://docs.makeswift.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Pages

> Returns a list of pages for a site.

export const ReadinessBadge = ({type}) => {
  const validTags = ["beta", "alpha", "experimental"];
  const tagText = type?.trim().toLowerCase();
  if (!tagText || !validTags.includes(tagText)) return null;
  useEffect(() => {
    const titleElement = document.querySelector("#page-title, .page-title, h1");
    if (!titleElement) return;
    if (titleElement.querySelector(".badge")) return;
    const badge = document.createElement("span");
    badge.className = `badge ${tagText}-badge`;
    badge.textContent = tagText;
    badge.style.transform = "translateY(-3px)";
    titleElement.appendChild(badge);
  }, []);
  return null;
};

<ReadinessBadge type="beta" />


## OpenAPI

````yaml GET /v6/pages
openapi: 3.1.0
info:
  title: Makeswift API
  description: Documentation for the Makeswift public REST API.
  version: '1.0'
servers:
  - url: https://api.makeswift.com
    description: Production server
security:
  - Authentication: []
tags:
  - name: Authentication
    description: ''
  - name: Workspace
    description: ''
  - name: Workspace Member
    description: ''
  - name: Site
    description: ''
  - name: Locale
    description: ''
  - name: Route
    description: ''
  - name: Page
    description: ''
  - name: Webhook Management
    description: ''
paths:
  /v6/pages:
    get:
      tags:
        - Page
      summary: List Pages
      description: Returns a list of pages for a site.
      operationId: PageController_listV6_v6
      parameters:
        - name: siteId
          in: query
          description: The site ID to list pages from.
          required: true
          schema:
            type: string
            format: uuid
        - name: limit
          in: query
          description: The maximum number of pages to return.
          required: false
          schema:
            type: number
            default: 20
            maximum: 100
            minimum: 1
        - name: startingAfter
          in: query
          description: >-
            The pagination cursor. This is used to indicate what ID to list
            from.
          required: false
          schema:
            type: string
            format: uuid
        - name: pathPrefix
          in: query
          description: >-
            The filter that limits pages to only those with a pathname that
            begins with this value.
          required: false
          schema:
            type: string
            default: /
        - name: sortBy
          in: query
          description: The field to sort pages by.
          required: false
          schema:
            type: string
            default: path
            enum:
              - title
              - path
              - description
              - updatedAt
              - createdAt
        - name: sortDirection
          in: query
          description: The sort direction.
          required: false
          schema:
            type: string
            default: asc
            enum:
              - asc
              - desc
        - name: includeOffline
          in: query
          description: >-
            The flag that determines whether to include offline pages in the
            results.
          required: false
          schema:
            type: string
            default: 'false'
            enum:
              - 'true'
              - 'false'
        - name: locale
          in: query
          description: The locale code to filter pages by.
          required: false
          schema:
            type: string
        - name: versionRef
          in: query
          description: >-
            The version reference to retrieve pages from. Defaults to
            `ref:draft` if not provided.


            Supported formats:

            - `ref:draft` - Draft/working version

            - `ref:live` - Live/published version
          required: false
          schema:
            type: string
            default: ref:draft
            enum:
              - ref:live
              - ref:draft
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPagesV2ResponseBodyDto'
        '403':
          description: Access forbidden.
components:
  schemas:
    ListPagesV2ResponseBodyDto:
      type: object
      properties:
        object:
          type: string
          example: list
          enum:
            - list
        data:
          type: array
          items:
            type: object
            properties:
              object:
                type: string
                example: page
                enum:
                  - page
              id:
                description: The ID of the page.
                type: string
                format: uuid
              pathname:
                description: The page pathname.
                type: string
                example: furniture
              canonicalUrl:
                description: The canonical URL of the page.
                type: string
                nullable: true
              title:
                description: The page title.
                type: string
                nullable: true
              description:
                description: The page description.
                type: string
                nullable: true
              socialImageUrl:
                description: The social image URL of the page.
                type: string
                nullable: true
              sitemapPriority:
                description: The sitemap priority.
                type: number
                maximum: 1
                minimum: 0
                nullable: true
              sitemapFrequency:
                description: The sitemap update frequency.
                type: string
                enum:
                  - always
                  - hourly
                  - daily
                  - weekly
                  - monthly
                  - yearly
                  - never
                nullable: true
              createdAt:
                description: The page creation date and time.
                type: string
                format: date-time
                nullable: true
              updatedAt:
                description: The page last update date and time.
                type: string
                format: date-time
                nullable: true
              publishedAt:
                description: The page publication date and time.
                type: string
                format: date-time
                nullable: true
              isOnline:
                description: The flag that indicates whether the page is online.
                type: boolean
              excludedFromSearchEngines:
                description: >-
                  The flag that indicates whether the page is excluded from
                  search.
                type: boolean
                nullable: true
              locale:
                description: >-
                  The page locale. This defaults to the default locale of the
                  parent site.
                type: string
              localizations:
                description: The localizations of the page.
                type: array
                items:
                  type: object
                  properties:
                    locale:
                      description: The locale of the localization.
                      type: string
                    pathname:
                      description: The pathname of the localization.
                      type: string
                    id:
                      description: The ID of the localization.
                      type: string
                      format: uuid
                  required:
                    - pathname
            required:
              - object
              - id
              - pathname
              - canonicalUrl
              - title
              - description
              - socialImageUrl
              - sitemapPriority
              - sitemapFrequency
              - createdAt
              - updatedAt
              - publishedAt
              - isOnline
              - excludedFromSearchEngines
              - localizations
        hasMore:
          description: The flag that indicates whether there are more pages available.
          type: boolean
      required:
        - object
        - data
        - hasMore
  securitySchemes:
    Authentication:
      type: apiKey
      in: header
      name: x-api-key
      description: |-
        API key authentication. Accepts either:
        - App API key (e.g. sk_eczMHVBY9fV6GYFhvs53qcnxq7yptlXL3ABKOZtn6dQ)
        - Site API key (UUID format, e.g. 550e8400-e29b-41d4-a716-446655440000)

````