edit_side_page
Update side page metadata (name, slug, instructions) and text-page content. Renames rewrite internal references; every write creates a draft version for undo.
Instructions
Update a side page's page-level metadata and, for type:"text" pages only, its content. Metadata (any side-page type): name (display title, shown in auto-generated footer/nav 'Solutions' links and breadcrumbs), newKey (rename the URL-slug fragment; old URL 404s, no redirect; internal references are rewritten in the background), and instructions (stored as an annotation for future context — does NOT trigger an AI edit). Content — type:"text" pages ONLY: title and/or htmlContent. Text side pages store a flat {title, htmlContent} document, not per-section overrides, so this is the direct way to write their content — landing/comparison pages have no title/htmlContent fields and must use set_side_page_section (or set_side_page_section with instructions-only for an AI rewrite of a text page's whole document) instead. Passing only one of title/htmlContent fetches and preserves the other automatically, so a partial write never clobbers the unset field. Every edit creates a new draft version (see list_side_page_versions / restore_side_page_version) — nothing here is destructive, any write (including a bad title/htmlContent edit) can be undone by restoring a prior version. On a published page, edits stay draft-only until set_side_page_state({published:true}) publishes them. When newKey triggers a reference rewrite, the response includes slugRewriteOperationId — poll it to confirm the cascade finished.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New display title for the side page. This is the title shown in auto-generated footer/nav 'Solutions' links and breadcrumbs. Changing it updates those links automatically. | |
| slug | Yes | Parent landing page slug | |
| title | No | type:"text" pages only: new page title (part of the flat {title, htmlContent} content document — different from `name`, which is the nav/footer display label). If `htmlContent` isn't also passed, the current htmlContent is fetched and preserved. Ignored for landing/comparison pages — use set_side_page_section there. | |
| newKey | No | New URL-slug fragment to RENAME the side page's key. The old URL will stop working (404) after rename — there is no redirect. Existing internal links from blogs/other pages to this page are rewritten automatically in the background (poll the returned slugRewriteOperationId). | |
| sideKey | Yes | Side page key | |
| htmlContent | No | type:"text" pages only: new HTML body (part of the flat {title, htmlContent} content document). If `title` isn't also passed, the current title is fetched and preserved. Ignored for landing/comparison pages — use set_side_page_section there. | |
| instructions | No | Updated instructions for the AI | |
| updateReferences | No | When renaming via newKey, rewrite existing internal references (blog backlinks, internalLinks) to point at the new slug. Defaults to true; set false to skip the cascade. |