Use this API to modify attributes of a Notion page, such as its properties, icon, or cover.
properties of a page in a data source, use the properties body parameter. This parameter can only be used if the page’s parent is a data source, aside from updating the title of a page outside of a data source.
The page’s properties schema must match the parent data source’s properties.
icon or cover, and can be used to archive or restore any page.
is_locked boolean parameter to lock or unlock the page from being further edited in the Notion app UI. Note that this setting doesn’t affect the ability to update the page using the API.
template body parameter object to apply a template to an existing page. This can either be the parent data source’s default template (type=default), or a specific template (type=template_id).
After the API request finishes, Notion’s systems merge the content and properties from your chosen template into the current page.
For more information, visit our related guide: Creating pages from templates.
erase_content flag to delete all block children of the current page. Use caution with this parameter, since this is a destructive action that cannot be reversed using the API.
The main use case is for applying a template in scenarios where it makes sense to clear all of the existing page content and replace it with the template page’s content, instead of appending the template content to what’s already on the page.
page_id can be passed as the block_id when adding block children to the page.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
The API version to use for this request. The latest version is 2025-09-03.
2025-09-03 Whether the page should be locked from editing in the Notion app UI. If not provided, the locked state will not be updated.
Whether to erase all existing content from the page. When used with a template, the template content replaces the existing content. When used without a template, simply clears the page content.