update_persona
Changes a persona of a project in part; the devices replace the list when sent.
Change a persona by persona_id with any of name, tagline, role_title, demographics, goals, frustrations, behaviours (each HTML), tech_proficiency, devices (the list replaces the current one) and quote. A field left out keeps its value; a field sent as null is cleared. The change goes through the same action the People page runs and persona.updated goes out with what moved. A staff token with persona:update on the project is needed.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same action as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Fires one event
Delivered to every endpoint subscribed to it once the change is made.
Annotations
A client that honours annotations asks a person before running it.
Arguments
persona_id*stringUUID of the persona.
namestringoptionalWhat the persona is called, 2 to 80 characters.
taglinestringoptionalOne line that sums them up.
role_titlestringoptionalWhat they do, in their own world.
demographicsstringoptionalWho they are, as HTML.
goalsstringoptionalWhat they want from the product, as HTML.
frustrationsstringoptionalWhat gets in their way today, as HTML.
behavioursstringoptionalHow they work and what they reach for, as HTML.
tech_proficiencystringoptionalHow at ease they are with technology; medium by default.
lowmediumhighdevicesstring[]optionalThe devices they use, as short tags.
quotestringoptionalSomething they would say.
What it returns
{ "data": { "id": "6f7a8b9c-0d1e-4f2a-8b3c-4d5e6f7a8b9c", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13", "name": "Busy parent", "tagline": "Drops laundry on the way to work and wants it back by Friday", "role_title": "Working parent of two", "demographics": "<p>30 to 45, two children, both parents working.</p>", "goals": "<p>Book a pickup in under a minute and know when the laundry is ready.</p>", "frustrations": "<p>Calling the shop to ask whether the order is done.</p>", "behaviours": "<p>Orders from the phone in the evening; pays by card.</p>", "tech_proficiency": "medium", "devices": ["phone", "laptop"], "quote": "Just tell me when it is ready.", "position": 1, "archived_at": null, "created_at": "2026-10-28T09:25:00+00:00", "updated_at": "2026-10-28T14:00:00+00:00" }}How it fails
VALIDATION_FAILEDa field outside its limits, a tech_proficiency outside the three, or a name another persona of the project already uses.
RESOURCE_NOT_FOUNDunknown persona_id, or a persona outside the token's scope or the person's visibility.
FORBIDDENthe token is a client guest's, or the holder's role on the project does not carry persona:update.
TOKEN_MISSING_ABILITYtoken lacks persona:update.
How is this guide?
Last updated on