update_public_page
Update the selected sub-account's public profile page, covering display name, bio, avatar, theme, custom links, and verification display settings.
Instructions
Update the record get_current_sub_account reads: a sub-account key's own sub-account, otherwise the primary sub-account (never creates one). Takes presentation fields only — display name, bio, avatar, theme, custom links, and verification display settings; business details, the primary flag and email branding go through update_sub_account. In the dashboard, the Profile page (https://proof.holdings/profile) edits whichever sub-account is selected there.
ACCESS: needs a Proof account. Set PROOF_API_KEY and restart this server, then call this tool again. start_login does NOT open this tool.
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_public_page"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bio | No | Profile bio | |
| theme | No | Profile theme settings | |
| is_public | No | Whether the profile is publicly visible | |
| avatar_url | No | Avatar (HTTPS URL or base64 data URI, null to remove) | |
| custom_links | No | Custom links (max 20) | |
| display_name | No | Display name | |
| show_delegations | No | List the published, in-force delegations for the domains the profile shows (default true) | |
| show_proof_channels | No | Show proof channels | |
| show_verification_dates | No | Show verification dates |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | MongoDB ObjectId | |
| bio | No | ||
| theme | Yes | Profile theme customization | |
| username | No | Absent until a username is claimed | |
| is_public | Yes | ||
| avatar_url | No | A URL or a data URI; null once cleared | |
| created_at | Yes | ||
| is_primary | Yes | ||
| profile_id | Yes | The public id used in profile URLs | |
| updated_at | Yes | ||
| view_count | Yes | ||
| email_theme | Yes | Theme of this sub-account's emails; null when unset (read as `dark`). | |
| is_business | Yes | ||
| name_review | Yes | Why a typed name is left out of the public reads: it reads as a protected brand's own, until a domain of that brand is checked. Null when nothing is held. | |
| proof_order | Yes | Who decided the order of a profile's proofs. `default`: domain, social account, Telegram bot, email, phone, wallet, then each proof's `display_order`. `owner`: the owner's `display_order` alone — send it when the owner reorders. The first shown proof that is not hidden leads the profile's preview card, share tags and badge. Omitted on an update, the profile keeps its current setting. | |
| custom_links | Yes | ||
| display_name | No | ||
| business_name | No | ||
| name_headline | Yes | Why a published name may not lead the page (it carries a protected brand word); it leads only when an OV/EV certificate names it. Null when not demoted. | |
| public_proofs | Yes | The shown proofs, in the order the public profile shows them | |
| support_email | Yes | Support address shown in this sub-account's messages; null when unset. | |
| show_delegations | Yes | ||
| channels_complete | Yes | The owner's statement that the channels listed are all of theirs. | |
| verification_level | Yes | Always 'basic'; no levels are computed; removed in the next major. | |
| show_proof_channels | Yes | ||
| username_is_default | No | The username was given automatically (from the domain the profile shows, else its short id); the owner may replace it once with a name of their choice. | |
| show_verification_dates | Yes |