Update a Compass page
compass_pages_updateEdits an existing page's title, description, body, tags, header fields, or visibility — use this to FIX what you (or an extraction) got wrong instead of creating a duplicate. Fetch the current page with compass_pages_get first and preserve what the human wrote; title / body / tags replace the field wholesale, while headerFields MERGES over the current ones (send only the keys you're changing — 'set the owner' leaves status alone). Page ids come from compass_pages_list. May return needs_confirmation — tell the user what you're changing, wait for approval, then re-call with the approvalId.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | New Markdown body — replaces the whole body. | |
| tags | No | New tag set — replaces existing tags. | |
| title | No | New title (≤200 chars). | |
| pageId | Yes | Id of the page to edit. | |
| workspace | No | Workspace slug. Personal tokens with no default workspace MUST pass this; tokens with a default can override per call. Ignored for workspace API keys. | |
| approvalId | No | Approval id from a prior needs_confirmation response, after the user has approved. Omit on the first call. | |
| visibility | No | Who can see it: PRIVATE (only the user), WORKSPACE (every member, the default), or SHARED (specific people, granted afterwards). Say 'make it private' → PRIVATE. | |
| description | No | New one-line gallery summary (≤2,000 chars). | |
| headerFields | No | Partial header fields for the page's type (PERSON: role, email, …; WORKFLOW: owner, status, …) — merged over the current values; the server validates the merged result against the type. |