---
title: "List site pages"
method: GET
path: "/api/v1/site/pages"
tags: ["Content"]
---

# List site pages

`GET /api/v1/site/pages`

## Request

- Base URL: `https://app.promptingco.com`
- URL: `https://app.promptingco.com/api/v1/site/pages`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
  - API key in cookie `better-auth.session_token`

Deprecated, will be removed in future versions. Please use `GET /api/v1/content` instead.

## Query parameters

- `productId` string: Product ID. Provide exactly one of `productId` or `productSlug` (the server enforces this at runtime).
- `productSlug` string: Product slug. Provide exactly one of `productId` or `productSlug` (the server enforces this at runtime).
- `page` integer
- `pageSize` integer
- `orderBy` 'createdAt' | 'updatedAt' | 'deletedAt'
- `orderByDirection` 'asc' | 'desc'
- `query` string
- `q` string
- `status` 'draft' | 'published'
- `type` string
- `isManual` boolean
- `pathPrefix` string
- `hasContent` boolean
- `domainId` string
- `domain` string
- `promptId` string
- `archivedStatus` 'active' | 'archived' | 'all'

## Response `200`

Successful response

- object
  - `ok` true, required
  - `data` object, required
    - `scope` object, required
      - `product` object, required
        - `id` string, required
        - `name` string, required
        - `slug` string, nullable, required
      - `organization` object, required
        - `id` string, required
        - `name` string, required
        - `slug` string, required
    - `page` integer, required
    - `pageSize` integer, required
    - `query` string, nullable, required
    - `status` string, nullable, required
    - `type` string, nullable, required
    - `isManual` boolean, nullable, required
    - `pathPrefix` string, nullable, required
    - `hasContent` boolean, nullable, required
    - `domainId` string, nullable, required
    - `domain` string, nullable, required
    - `archivedStatus` 'active' | 'archived' | 'all', required
    - `orderBy` 'createdAt' | 'updatedAt' | 'deletedAt', required
    - `orderByDirection` 'asc' | 'desc', required
    - `total` integer, required
    - `totalPages` integer, required
    - `items` object[], required
      - `id` string, required
      - `promptId` string, nullable, required: The prompt this page was generated from, when it came from generation.
      - `title` string, required
      - `filePath` string, required
      - `sourceUrl` string, nullable, required
      - `status` string, required
      - `type` string, required
      - `isManual` boolean, required
      - `metaTitle` string, nullable, required
      - `metaDescription` string, nullable, required
      - `metadata` object, required
        - `contentType` 'recommended' | 'solution-recommendation' | 'comparison' | 'explainer' | 'implementation-guide' | 'decision-guide' | 'use-case-workflow' | 'listicle' | 'solution-guide' | 'code-example' | 'code-decision-guide' | 'compatibility' | 'faq' | 'custom' | 'null', nullable, required
      - `redirectToUrl` string, nullable, required
      - `redirectAudience` string, required
      - `publishedAt` string, date-time, nullable, required
      - `deletedAt` string, date-time, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `domains` object[], required
        - `id` string, required
        - `domain` string, required
        - `isCanonical` boolean, required
        - `pathPrefix` string, nullable, required

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Forbidden
- `404`: Not found
- `422`: Validation failed
- `500`: Internal server error

---

[API](https://skmtc.dev/promptingcompany/apis/the-prompting-company-api.md) - [All operations](https://skmtc.dev/promptingcompany/apis/the-prompting-company-api/llms.txt) - [OpenAPI document](https://skmtc.dev/promptingcompany/apis/the-prompting-company-api/revisions/c0451ea10e9a?raw)
