DESTRUCTIVE

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

Destructive

A client that honours annotations asks a person before running it.

Arguments

persona_id*string

UUID of the persona.

namestringoptional

What the persona is called, 2 to 80 characters.

taglinestringoptional

One line that sums them up.

role_titlestringoptional

What they do, in their own world.

demographicsstringoptional

Who they are, as HTML.

goalsstringoptional

What they want from the product, as HTML.

frustrationsstringoptional

What gets in their way today, as HTML.

behavioursstringoptional

How they work and what they reach for, as HTML.

tech_proficiencystringoptional

How at ease they are with technology; medium by default.

lowmediumhigh
devicesstring[]optional

The devices they use, as short tags.

quotestringoptional

Something 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_FAILED

a field outside its limits, a tech_proficiency outside the three, or a name another persona of the project already uses.

RESOURCE_NOT_FOUND

unknown persona_id, or a persona outside the token's scope or the person's visibility.

FORBIDDEN

the token is a client guest's, or the holder's role on the project does not carry persona:update.

TOKEN_MISSING_ABILITY

token lacks persona:update.

How is this guide?

Last updated on