DESTRUCTIVE

create_stakeholder

Adds one of the people a project answers to, so the sponsor and the product owner a brief names take their seats as the conversation goes.

Add a stakeholder to a project: project_id and name are required; email, phone, organisation, side (client by default, or zuse, third_party), title, role (sponsor, product_owner, business_owner, subject_matter_expert, end_user_representative, technical_lead, architect, security, legal, finance, operations or other), influence and interest (low, medium, high), raci_default, the approval flags approves_requirements, signs_off_uat, approves_releases and receives_status_reports (on by default), notes (HTML) and user_id (the guest account they sign in with, when linked) fill in the rest. The stakeholder is written through the same action the People page and the intake wizard run, and stakeholder.created goes out.

A seat with approves_requirements is what an approval policy names when the client signs off requirements; the seat decides only once an account is linked to it. A staff token with stakeholder:create 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.

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

project_id*string

UUID of the project.

name*string

The person's name, 2 to 120 characters.

emailstringoptional

Where to reach them.

phonestringoptional

A phone number.

organisationstringoptional

The organisation they belong to, in words.

sidestringoptional

Whose side they speak for; client by default.

clientzusethird_party
titlestringoptional

Their job title.

rolestringoptional

What they do for the project; other by default.

sponsorproduct_ownerbusiness_ownersubject_matter_expertend_user_representativetechnical_leadarchitectsecuritylegalfinanceoperationsother
influencestringoptional

How much weight their word carries; medium by default.

lowmediumhigh
intereststringoptional

How closely they follow the project; medium by default.

lowmediumhigh
raci_defaultstringoptional

Their default RACI letter; null for none.

responsibleaccountableconsultedinformed
approves_requirementsbooleanoptional

Whether they are asked to approve requirements.

signs_off_uatbooleanoptional

Whether they sign off UAT runs.

approves_releasesbooleanoptional

Whether they approve releases.

receives_status_reportsbooleanoptional

Whether status reports go to them; on by default.

notesstringoptional

Anything the team should know, as HTML.

user_idstringoptional

UUID of the guest account they sign in with, when linked.

What it returns

{  "data": {    "id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "user_id": null,    "name": "Nadeesha Perera",    "email": "nadeesha@example.test",    "phone": null,    "organisation": "Super Clean Laundry",    "side": "client",    "title": "Owner",    "role": "product_owner",    "influence": "high",    "interest": "high",    "raci_default": "accountable",    "approves_requirements": true,    "signs_off_uat": true,    "approves_releases": false,    "receives_status_reports": true,    "notes": null,    "position": 1,    "created_at": "2026-10-28T09:22:00+00:00",    "updated_at": "2026-10-28T09:22:00+00:00"  }}

How it fails

VALIDATION_FAILED

name missing or outside 2 to 120 characters, an email that is not an address, a side, role, influence, interest or raci_default outside its set, or a user_id that is not an account the project can link.

RESOURCE_NOT_FOUND

unknown project_id, or a project 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 stakeholder:create.

TOKEN_MISSING_ABILITY

token lacks stakeholder:create.

How is this guide?

Last updated on