---
title: "Get pages"
method: GET
path: "/api/v2/pages"
tags: ["Pages"]
---

# Get pages

`GET /api/v2/pages`

Returns a paginated list of pages — docs (root pages) and their subpages alike. Scope the list with `filter[project_id]` (pages of a project), `filter[root_page_id]` (every page inside one doc) or `filter[parent_page_id]` (direct children of a page). `filter[query]` matches page titles, `filter[full_query]` searches titles and body content; `filter[creator_id]`, `filter[subscriber_id]`, `filter[edited_at]` and `filter[last_activity_at]` narrow the result further. Pass `filter[template]` to list only template docs.

## Query parameters

- `sort` string[]
- `filter` union — Filter schema for `page` list endpoints — pass a single condition or a logical group.
  - object — A logical filter group — combine multiple conditions with the `$op` operator.
    - `$op` 'or' | 'and', required — Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match.
  - FilterPage — Filter parameters for listing pages. Supports filtering by creator, creation and edit timestamps, parent page, project, custom fields, and full-text search. Standard string and date operators apply.
    - `status` union — Filter by page status (used in search context).
      - object — Filter using explicit operator syntax.
        - `eq` Status — unresolved $ref
        - `contains` Status — unresolved $ref
        - `not_contain` Status — unresolved $ref
        - `not_eq` Status — unresolved $ref
      - Status — unresolved $ref
    - `project_status` union — Filter by the status of the parent project (active or archived).
      - ProjectStatus — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_contain` ProjectStatus — unresolved $ref
        - `eq` ProjectStatus — unresolved $ref
        - `not_eq` ProjectStatus — unresolved $ref
        - `contains` ProjectStatus — unresolved $ref
    - `creator_id` union — Filter by the person who created the page.
      - object — Filter using explicit operator syntax.
        - `not_contain` CreatorId — unresolved $ref
        - `eq` CreatorId — unresolved $ref
        - `contains` CreatorId — unresolved $ref
        - `not_eq` CreatorId — unresolved $ref
      - CreatorId — unresolved $ref
    - `edited_at` union — Filter by last edited date range.
      - object — Filter using explicit operator syntax.
        - `contains` EditedAt — unresolved $ref
        - `not_eq` EditedAt — unresolved $ref
        - `not_contain` EditedAt — unresolved $ref
        - `eq` EditedAt — unresolved $ref
      - EditedAt — unresolved $ref
    - `custom_fields` union — Filter by custom field values.
      - object — Filter using explicit operator syntax.
        - `not_eq` CustomFields — unresolved $ref
        - `contains` CustomFields — unresolved $ref
        - `not_contain` CustomFields — unresolved $ref
        - `eq` CustomFields — unresolved $ref
      - CustomFields — unresolved $ref
    - `created_at` union — Filter by creation date range.
      - object — Filter using explicit operator syntax.
        - `not_contain` CreatedAt — unresolved $ref
        - `not_eq` CreatedAt — unresolved $ref
        - `contains` CreatedAt — unresolved $ref
        - `eq` CreatedAt — unresolved $ref
      - CreatedAt — unresolved $ref
    - `subscriber_id` union — Filter by the person subscribed to the page.
      - object — Filter using explicit operator syntax.
        - `contains` SubscriberId — unresolved $ref
        - `eq` SubscriberId — unresolved $ref
        - `not_eq` SubscriberId — unresolved $ref
        - `not_contain` SubscriberId — unresolved $ref
      - SubscriberId — unresolved $ref
    - `id` union — Filter by ID.
      - Id — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_eq` Id — unresolved $ref
        - `eq` Id — unresolved $ref
        - `contains` Id — unresolved $ref
        - `not_contain` Id — unresolved $ref
    - `query` union — Filter by title or content (text search).
      - object — Filter using explicit operator syntax.
        - `not_contain` Query — unresolved $ref
        - `eq` Query — unresolved $ref
        - `not_eq` Query — unresolved $ref
        - `contains` Query — unresolved $ref
      - Query — unresolved $ref
    - `jump_query` union — Filter pages by a quick search query used in jump navigation.
      - JumpQuery — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_contain` JumpQuery — unresolved $ref
        - `not_eq` JumpQuery — unresolved $ref
        - `eq` JumpQuery — unresolved $ref
        - `contains` JumpQuery — unresolved $ref
    - `person_type` union — Filter by the person type (used in search context, e.g. assignee or subscriber).
      - object — Filter using explicit operator syntax.
        - `not_eq` PersonType — unresolved $ref
        - `not_contain` PersonType — unresolved $ref
        - `eq` PersonType — unresolved $ref
        - `contains` PersonType — unresolved $ref
      - PersonType — unresolved $ref
    - `full_query` union — Full-text search across all fields of a page, including title and body content.
      - object — Filter using explicit operator syntax.
        - `not_contain` FullQuery — unresolved $ref
        - `contains` FullQuery — unresolved $ref
        - `eq` FullQuery — unresolved $ref
        - `not_eq` FullQuery — unresolved $ref
      - FullQuery — unresolved $ref
    - `fuzzy_dates` union — Filter pages by fuzzy date expressions mentioned in the page content.
      - object — Filter using explicit operator syntax.
        - `not_eq` FuzzyDates — unresolved $ref
        - `eq` FuzzyDates — unresolved $ref
      - FuzzyDates — unresolved $ref
    - `root_page_id` union — Filter by the top-level ancestor page.
      - RootPageId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_eq` RootPageId — unresolved $ref
        - `not_contain` RootPageId — unresolved $ref
        - `contains` RootPageId — unresolved $ref
        - `eq` RootPageId — unresolved $ref
    - `template` union — Filter to include only pages that are based on a template.
      - object — Filter using explicit operator syntax.
        - `contains` Template — unresolved $ref
        - `not_eq` Template — unresolved $ref
        - `not_contain` Template — unresolved $ref
        - `eq` Template — unresolved $ref
      - Template — unresolved $ref
    - `project_id` union — Filter by the associated project.
      - ProjectId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_eq` ProjectId — unresolved $ref
        - `eq` ProjectId — unresolved $ref
        - `contains` ProjectId — unresolved $ref
        - `not_contain` ProjectId — unresolved $ref
    - `last_activity_at` union — Filter by last activity date range.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` LastActivityAt — unresolved $ref
        - `eq` LastActivityAt — unresolved $ref
        - `contains` LastActivityAt — unresolved $ref
        - `not_eq` LastActivityAt — unresolved $ref
      - LastActivityAt — unresolved $ref
    - `fuzzy_people` union — Filter pages by people mentioned in the page content.
      - FuzzyPeople — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `contains` FuzzyPeople — unresolved $ref
        - `not_contain` FuzzyPeople — unresolved $ref
        - `eq` FuzzyPeople — unresolved $ref
        - `not_eq` FuzzyPeople — unresolved $ref
    - `parent_page_id` union — Filter by the direct parent page.
      - ParentPageId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_contain` ParentPageId — unresolved $ref
        - `contains` ParentPageId — unresolved $ref
        - `eq` ParentPageId — unresolved $ref
        - `not_eq` ParentPageId — unresolved $ref

## Headers

- `X-Organization-Id` string, required

## Response `200`

Collection page

## Changes

- **2026-08-31** `0e862879d77b` — 1 info
  - added the optional property `data/items/relationships/updater` to the response with the `200` status

[Change history](https://skmtc.dev/productive/apis/api-documentation/changes/api/v2/pages/get.md)

---

[API](https://skmtc.dev/productive/apis/api-documentation.md) · [All operations](https://skmtc.dev/productive/apis/api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/productive/api-documentation/revisions/72b19e10d7df/schema)
