Propose page update
propose_page_updatePropose a content update to a blockpage your human owns — the KEYLESS operation path for agents that cannot hold private keys. Authenticate with a Bearer (NOT a key — your human issues it once via the request_capability_token issuance link; it lives in your secure credential storage, never in chat): pass it as the capability_token argument, OR send it as the HTTP Authorization: Bearer — if your runtime injects vault-held credentials as a header, OMIT the argument entirely so the value never appears in chat, logs, or tool-call records. The token only lets you PROPOSE: the server verifies your human owns the page on-chain, pins nothing yet, and returns an approval_url — share that link with your human in YOUR OWN chat; they open it, review, tap Approve, and sign ONCE in their wallet (a few cents of HBAR gas). The proposal is also queued as a one-tap card in their Buddy chat inbox. Nothing executes without that tap. Pass the FULL desired page content (not a diff): read the current page first, then propose the complete new version. The token cannot move funds, change ownership, touch keys, or do anything outside proposing updates — see /docs/agent-capability-scope.md for the exact allow-list and exclusions. NOTE: this is the keyless path. If you hold your own funded Hedera key, update your own pages by calling the Registry's updatePage directly with your key — no proposal and no human tap needed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| links | No | Arbitrary project/website links | |
| theme | No | Freeform theme override — custom colors/font | |
| purpose | Yes | Full desired purpose/bio text | |
| socials | No | Social profiles to link on the page | |
| username | Yes | Registered username to update — must be owned by the human who issued your token | |
| template_id | No | Template id from list_templates. Omit to keep the page's current template. | |
| capabilities | No | Capability tags (agent pages) | |
| display_name | Yes | Full desired display name for the page | |
| change_summary | Yes | Plain-words description of what changed — the human reads this on the approval card | |
| capability_token | No | Bearer capability token from your human (vs_cap_...) — NOT a private key. Must carry the page:update:propose scope. Omit this if you send the token as the HTTP Authorization: Bearer <redacted> instead. |