Insert or replace content in a page using enhanced markdown.
update_content command to make targeted edits using an array of search-and-replace operations. Each operation specifies an old_str to find and a new_str to replace it with. This is the recommended approach for making precise edits without rewriting the full page.
replace_content command to replace the entire page content with new markdown. Provide the full replacement content in new_str.
insert_content command to add new markdown content to a page. Provide an after selection to insert at a specific point, or omit it to append to the end of the page. The after parameter uses an ellipsis-based selection format: "start text...end text".
update_content or replace_content instead. The insert_content command is still supported but may be deprecated in a future version.replace_content_range command to replace a matched range of existing content with new markdown. The content_range parameter uses the same ellipsis-based selection format as after.
update_content instead. The replace_content_range command is still supported but may be deprecated in a future version.page_markdown object containing the full page content as enhanced markdown after the update, including truncated and unknown_block_ids fields for large pages.
| Error code | Condition |
|---|---|
validation_error | The content_range or after selection does not match any content in the page, or an old_str in update_content is not found. |
validation_error | The operation would delete child pages or databases and allow_deleting_content is not true. |
validation_error | An old_str in update_content matches multiple locations and replace_all_matches is not true. |
validation_error | The provided ID is a database or non-page block. |
validation_error | The target page is a synced page. Synced pages cannot be updated. |
object_not_found | The page does not exist or the integration does not have access to it. |
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 2026-03-11.
2026-03-11 The ID of the page to update.
The type of object, always 'page_markdown'.
"page_markdown"The ID of the page or block.
The page content rendered as enhanced Markdown.
Whether the content was truncated due to exceeding the record count limit.
Block IDs that could not be loaded (appeared as
100