V2
Update Page
Update page properties, icon, cover, or trash state with optional concurrency control.
Update Page
Use Case
Use this endpoint to update page title, properties, icon, cover, or trash state. It supports optional optimistic concurrency with If-Match.
Endpoint
| Item | Value |
|---|---|
| Method | PATCH |
| Path | /v2/pages/:page_id |
| Request body | page partial update parameters |
| Returns | page |
| Scope | pages.write |
Permissions
Requires pages.write and access to the page.
Headers
| Header | Required | Description |
|---|---|---|
Authorization |
Yes | Bearer <token>. |
If-Match |
No | Optimistic concurrency token, commonly derived from the last read page version. |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page_id |
string | Yes | Page ID. |
properties |
object | No | Partial page property update. |
icon |
object or null | No | Set to null to remove the icon. |
cover |
object or null | No | Set to null to remove the cover. |
in_trash |
boolean | No | Trash state. |
Request Example
{
"properties": {
"title": {
"type": "title",
"title": [
{
"type": "text",
"text": {
"content": "Quarterly Plan Updated"
}
}
]
}
},
"icon": null,
"cover": {
"type": "external",
"external": {
"url": "https://example.com/cover.png"
}
},
"in_trash": false
}
Response Example
{
"object": "page",
"id": "11111111-1111-4111-8111-111111111111",
"page_type": "page",
"created_time": "2026-04-09T08:00:00.000Z",
"last_edited_time": "2026-04-09T09:30:00.000Z",
"created_by": {
"object": "user",
"id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb"
},
"last_edited_by": {
"object": "user",
"id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb"
},
"parent": {
"type": "page_id",
"page_id": "55555555-5555-4555-8555-555555555555"
},
"in_trash": false,
"icon": null,
"cover": null,
"properties": {
"title": {
"id": "title",
"type": "title",
"title": [
{
"type": "text",
"text": {
"content": "Quarterly Plan Updated",
"link": null
},
"plain_text": "Quarterly Plan Updated",
"href": null
}
]
}
},
"url": "https://buildin.ai/docs/11111111-1111-4111-8111-111111111111"
}
Behavior
- This is a partial update endpoint.
propertiesonly updates the submitted properties.iconandcoverremove the value when set tonull.in_trashtoggles page trash state.- A mismatched
If-Matchheader rejects the write with409 conflict.
Errors
401 unauthorized: invalid or expired token.403 forbidden: missingpages.writeor no access.404 not_found: page does not exist.409 conflict:If-Matchdoes not match the current page version.