Add a page to a website
add_page_to_siteGenerate a new page inside an existing website and save it as a draft. The home page is created in the published state so site publishing includes it; the site itself is not published by this call. Use this rather than create_page whenever the page belongs to a site, so it inherits the site's brand and is served under the site's domain. The home page is the one with slug "index"; on a new site add it first, since later pages reuse its header, footer and theme and are linked from its menu. Find site ids with list_sites.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"siteId": "<siteId>",
"title": "<title>",
"brief": "<brief>"
},
"name": "add_page_to_site"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | URL slug, e.g. "about" or "blog/launch". Lowercase words and hyphens; may nest with "/". Derived from the title when omitted, and de-duplicated against existing pages. Use "index" for the home page: it is honoured only while the site has no home page (or, on a site built with the html/v2 page engine, to retry a home page whose build failed); otherwise the call fails and you should edit the existing page instead. | |
| brief | Yes | What the page should contain: its purpose, audience, sections, and call to action. The richer this is, the better the page. Ignored when retrying a failed home page with slug "index": that rebuild reuses the page's original brief (use edit_page to change it). | |
| title | Yes | Page title, e.g. "About us". Shown in the dashboard. A home page retry keeps the page's original name, and the result reports that. | |
| siteId | Yes | The site to add the page to (id from list_sites). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | ||
| path | Yes | Path within the site, e.g. "/about". | |
| slug | Yes | The slug actually used, which may differ from the one requested: it is normalised and de-duplicated against existing pages. | |
| title | Yes | ||
| pageId | Yes | Page UUID. Pass to get_page / edit_page. | |
| siteId | Yes | ||
| status | Yes | The home page (slug "index") starts published, so publishing the site includes it; other pages start as drafts. Neither means the site is live. | |
| editUrl | Yes | ||
| finalized | Yes | False when the page generated and saved but its dashboard record didn't finish updating. The page itself is fine; the list may lag. | |
| previewUrl | Yes | Shareable link. When previewCurrent is false it may not show the new page for a moment. | |
| previewCurrent | No | Whether previewUrl already serves the new page. False means it is saved but the preview may lag a moment; editUrl shows it now. Absent on pages built by the older engine, which serve it at once. |