Skip to main content
POST
TypeScript SDK

Authentication

Requires bearer token authentication with appropriate page edit permissions.

Path parameters

page_id (required)
  • Type: string (UUIDv4)
  • Description: The ID of the page to move
    • This must be a regular Notion page, and not a database. Moving databases or other block types in the API is not currently supported.
  • Format: UUIDs can be provided with or without dashes
  • Example: 195de9221179449fab8075a27c979105 or 195de922-1179-449f-ab80-75a27c979105

Body parameters

parent (required)
  • Type: object
  • Description: The new parent location for the page.
    • The bot must have edit access to the new parent.
The parent object can be one of two types:

Page parent

Move the page under another page:
JSON
  • type: Always "page_id"
  • page_id: UUID of the parent page (with or without dashes)
Page parent must be a regular Notion pageThe parent[page_id] parameter must be a page and cannot be any other type of block.One limited exception: for databases that only have a single data source , the database_id can be provided under page_id, but this is not recommended, since your connection will start encountering HTTP 400 errors if a second data source is added to the database.

Database parent

Move the page into a database:
JSON
  • type: Always "data_source_id"
  • data_source_id: UUID of the database’s data source (with or without dashes)
Note: You must use data_source_id rather than database_id. Use the Retrieve a database endpoint to get the child data source ID(s) from the database.

Example requests

Move page under another page

cURL

Move page into a database

cURL

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Notion-Version
enum<string>
required

The API version to use for this request. The latest version is 2026-03-11.

Available options:
2026-03-11

Path Parameters

page_id
string
required

The ID of the page to move.

Body

application/json
parent
object
required

The new parent of the page.

Response

object
string
required

The page object type name.

Allowed value: "page"
id
string<uuid>
required

The ID of the page.