Skip to navigation

Create a page

Creates a new page that is a child of an existing page or data source.

If the new page is a child of an existing page,title is the only valid property in the properties body param.

If the new page is a child of an existing database, the keys of the properties object body param must match the parent data source’s properties.

This endpoint can be used to create a new page with or without content using the children option. To add content to a page after creating it, use the Append block children endpoint.

Returns a new page object.

Some page properties are not supported via the API.

A request body that includes rollup, created_by, created_time, last_edited_by, or last_edited_time values in the properties object returns an error. These Notion-generated values cannot be created or updated via the API. If the parent contains any of these properties, then the new page’s corresponding values are automatically created.

Requirements

Your integration must have Insert Content capabilities on the target parent page or database in order to call this endpoint. To update your integrations capabilities, navigation to the My integrations dashboard, select your integration, go to the Capabilities tab, and update your settings as needed.

Attempting a query without update content capabilities returns an HTTP response with a 403 status code.

Errors

Each Public API endpoint can return several possible error codes. See the Error codes section of the Status codes documentation for more information.

Headers

Notion-VersionstringRequired

The API version to use for this request. The latest version is <<latestNotionVersion>>.

Request

This endpoint expects an object.
parentstringRequiredformat: "json"

The parent page or data source where the new page is inserted, represented as a JSON object with a page_id or data_source_id key, and the corresponding ID.

propertiesstringRequiredformat: "json"

The values of the page’s properties. If the parent is a database, then the schema must match the parent database’s properties. If the parent is a page, then the only valid object key is title.

childrenlist of stringsOptional

The content to be rendered on the new page, represented as an array of block objects.

iconstringOptionalformat: "json"

The icon of the new page. Either an emoji object or an external file object..

coverstringOptionalformat: "json"

The cover image of the new page, represented as a file object.

Response

200
objectstringOptional
idstringOptional
created_timestringOptional
last_edited_timestringOptional
created_byobjectOptional
last_edited_byobjectOptional
coverobjectOptional
iconobjectOptional
parentobjectOptional
archivedbooleanOptionalDefaults to true
propertiesobjectOptional
urlstringOptional

Errors

400
Bad Request Error
404
Not Found Error
429
Too Many Requests Error