update_stakeholder
Changes a stakeholder of a project in part, so an approval flag or an email can be added as the person mentions it.
Change a stakeholder by stakeholder_id with any of name, email, phone, organisation, side, title, role, influence, interest, raci_default, approves_requirements, signs_off_uat, approves_releases, receives_status_reports, notes (HTML) and user_id. 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 stakeholder.updated goes out with what moved. A staff token with stakeholder: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
stakeholder_id*stringUUID of the stakeholder.
namestringoptionalThe person's name, 2 to 120 characters.
emailstringoptionalWhere to reach them.
phonestringoptionalA phone number.
organisationstringoptionalThe organisation they belong to, in words.
sidestringoptionalWhose side they speak for; client by default.
clientzusethird_partytitlestringoptionalTheir job title.
rolestringoptionalWhat they do for the project; other by default.
sponsorproduct_ownerbusiness_ownersubject_matter_expertend_user_representativetechnical_leadarchitectsecuritylegalfinanceoperationsotherinfluencestringoptionalHow much weight their word carries; medium by default.
lowmediumhighintereststringoptionalHow closely they follow the project; medium by default.
lowmediumhighraci_defaultstringoptionalTheir default RACI letter; null for none.
responsibleaccountableconsultedinformedapproves_requirementsbooleanoptionalWhether they are asked to approve requirements.
signs_off_uatbooleanoptionalWhether they sign off UAT runs.
approves_releasesbooleanoptionalWhether they approve releases.
receives_status_reportsbooleanoptionalWhether status reports go to them; on by default.
notesstringoptionalAnything the team should know, as HTML.
user_idstringoptionalUUID 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": "9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a", "name": "Nadeesha Perera", "email": "nadeesha@example.test", "phone": "+94 77 123 4567", "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": true, "receives_status_reports": true, "notes": null, "position": 1, "created_at": "2026-10-28T09:22:00+00:00", "updated_at": "2026-10-29T08:10:00+00:00" }}How it fails
VALIDATION_FAILEDa field outside its limits, a value outside its set, or a user_id that is not an account the project can link.
RESOURCE_NOT_FOUNDunknown stakeholder_id, or a stakeholder 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 stakeholder:update.
TOKEN_MISSING_ABILITYtoken lacks stakeholder:update.
How is this guide?
Last updated on