Update a workspace link page
update_link_pageChange a workspace link page: the default one unless page_id names another. page replaces the whole content: a field left out is no longer set. The page sent is usually what get_link_page returned, with only the requested change. Fields: enabled, name, bio, logo (absent: the brand kit logo; null: none; else an http(s) URL), items (ordered, at most 30: {type:"form", formId} or {type:"link", label, url}), socials (instagram, x, youtube, tiktok, and whatsapp with its country code) and colors (primaryColor, background, foreground as hex; absent: the brand kit's). WhatsApp is stored as digits and get_link_page returns it with its + again, so send it back as read. Fonts come from the workspace brand kit: change them with update_brand_kit. With page_id, name, slug (the old address keeps redirecting) and make_default can change too. With enabled false, public_url answers 404. Without page_id, page: null deletes the default page when it is the only one; delete other pages with delete_link_page. Destructive: it deletes or replaces data, so it is best confirmed with the user first, naming exactly what will change. After an error or a timeout, a read shows whether the change went through, so a blind retry is not needed. Any member can use it.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "update_link_page"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | An internal name to tell pages apart ("Expo 2026"). Visitors never see it. | |
| page | No | The whole page content, as get_link_page returned it with your changes. Without page_id, null deletes the default page (only when it is the workspace's only page). With page_id, absent keeps the content as it is. | |
| slug | No | A new address after /p/. The old one keeps redirecting to it. Needs page_id. | |
| page_id | No | The page id, from list_link_pages. Absent: the default page, the one at /{accountCode}. | |
| make_default | No | true makes this page the one at /{accountCode}. Needs page_id, and the page must be published (enabled true). | |
| workspace_id | No | The workspace this call acts in: an id from list_my_workspaces. Required for a person signed in with several workspaces and for staff of this deployment; optional with an API key or with only one workspace. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| live | Yes | True when the page is saved with enabled: true, so public_url serves it. False: public_url answers 404. | |
| name | Yes | The internal name; blank when nobody named it. | |
| page | Yes | The stored page, ready to send back to update_link_page after changing it; null when there is none. | |
| slug | Yes | The page slug; the default page is served at /{accountCode} whatever its slug. | |
| forms | Yes | The workspace forms a form button can point at, by id. | |
| page_id | Yes | The page id; null when the workspace has no page yet. | |
| brand_kit | Yes | The brand kit the page takes its type, default colors and default logo from. | |
| workspace | Yes | The workspace this call acted in, to compare with the one the user means. | |
| is_default | Yes | True for the page at /{accountCode}. | |
| public_url | Yes | The page address, to give to users exactly as returned; null when the deployment has no public address. | |
| account_code | Yes | The workspace code the pages live under. |