---
title: "Get Page"
method: GET
path: "/api/pages/{page_id}"
tags: ["pages"]
---

# Get Page

`GET /api/pages/{page_id}`

## Request

- Base URL: `https://app.ctlsurf.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.ctlsurf.com/api/pages/{page_id}`
- Auth: HTTP bearer

## Path parameters

- `page_id` string, uuid, required

## Response `200`

Successful Response

- PageWithBlocks
  - `title` string
  - `root_path` string, nullable
  - `repo_url` string, nullable
  - `tags` string[]
  - `type` string
  - `id` string, uuid, required
  - `parent_id` string, uuid, nullable
  - `folder_id` string, uuid, nullable
  - `user_id` string, uuid, required
  - `order` integer
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `deleted_at` string, date-time, nullable
  - `is_project` boolean
  - `blocks` BlockResponse[]
    - `type` 'text' | 'checklist' | 'table' | 'react_flow' | 'agent_control' | 'tree' | 'ctlsurf_task' | 'page_summary' | 'file' | 'mindmap' | 'datastore' | 'state' | 'log' | 'presentation', required
    - `title` string, nullable
    - `props` object
    - `id` string, uuid, required
    - `page_id` string, uuid, required
    - `order` integer, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `access_level` string, nullable
  - `owner_info` PageOwnerInfo: Minimal owner info for shared pages.
    - `id` string, uuid, required
    - `email` string, required
  - `breadcrumb_path` BreadcrumbCrumb[]
    - `id` string, uuid, required
    - `title` string, required
    - `accessible` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ctlsurf/apis/notebook-control-plane.md) · [All operations](https://skmtc.dev/ctlsurf/apis/notebook-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/ctlsurf/apis/notebook-control-plane/revisions/ddfbbe20d5ce?raw)
