V2
Update Page
Update page properties, icon, or cover with optional concurrency control.
Update Page
Use Case
Use this endpoint to update page title, properties, icon, or cover. 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 | Weak ETag value returned by a preceding GET or PATCH request for this page. |
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. |
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"
}
}
}
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.- 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.