update_portal_page
Update a portal page's HTML or name. Can also make it the default page. Before changing the HTML always get_portal_page and pass checksum + site_id from SURFACE CONTEXT. IMPORTANT: if the page holds forms or tables with data, better use generate_ai_site, not this tool directly. If you do insert an iframe by hand, the only right format is: src='https://quintadb.com/widgets/APP_ID/ENTITY_ID?iframe=true'. APP_ID and ENTITY_ID come from describe_project. Do NOT invent other URLs.
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": {
"app_id": "<app_id>",
"portal_id": "<portal_id>",
"page_id": "<page_id>"
},
"name": "update_portal_page"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | New HTML content of the page | |
| name | No | New page name | |
| app_id | Yes | Project ID (from list_projects) | |
| page_id | Yes | Portal page ID (from list_portal_pages) | |
| site_id | No | site_id from SURFACE CONTEXT — dual-write into the right Site. | |
| portal_id | Yes | Portal ID (from list_portals or describe_project) | |
| embed_form | No | The MAIN way to PUT A FORM ON THE SITE («add a request form to the page», «so that a visitor leaves their contacts»). The server itself inserts a ready block with the form into the html and does NOT rewrite the rest — quinta-* blocks physically cannot be harmed. Do NOT pass html and page_checksum together with embed_form. If the form is already there, the answer says already_embedded and duplicates NOTHING. | |
| nav_append | No | The MAIN way to add an item to the SITE MENU: the server itself inserts <a> into the page's <nav> and does NOT touch the rest of the html (quinta-* blocks are guaranteed whole). Do NOT pass html and page_checksum together with nav_append. If page_id is not known, it can be left empty — the site's home page is taken. | |
| must_contain | No | A targeted edit (e.g. a site menu item): lines that MUST be in the saved HTML (the link's name, href). An independent verify check — if they are missing, the edit counts as failed. | |
| page_checksum | No | SHA256 of the current HTML from get_portal_page.checksum. REQUIRED when updating html — a call without checksum is refused. | |
| set_as_default | No | Make this page the home page |