update_sub_account
Update a sub-account by profile ID, including display info, email branding, custom links, theme, and verification display settings.
Instructions
Update a sub-account by ID. Supports changing display info, email branding (theme, support email), theme, custom links, and verification display settings.
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
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": {
"profile_id": "<profile_id>"
},
"name": "update_sub_account"
}
}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 (base64 or URL, null to remove) | |
| is_primary | No | Set as primary profile | |
| profile_id | Yes | Profile ID | |
| email_theme | No | Theme of this sub-account's emails | |
| is_business | No | Whether this is a business profile | |
| custom_links | No | Custom links (max 20) | |
| display_name | No | Display name | |
| business_name | No | Business name | |
| support_email | No | Support email this sub-account's messages show (null to remove) | |
| show_delegations | No | List the published, in-force delegations for the domains the profile shows (default true) | |
| show_proof_channels | No | Show proof channels on the Public page | |
| show_verification_dates | No | Show verification dates on the Public page |
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 |