patch_v1_captable_stakeholders_id
UpdateStakeholder changes one of the caller org's stakeholders. It is a PARTIAL update: only the fields the request names are written, and a field sent as null clears that column.
UpdateStakeholder changes one of the caller org's stakeholders. It is a PARTIAL update: only the fields the request names are written, and a field sent as null clears that column. A request that names no updatable field is refused, and an id this org does not hold is not found.
The values are stored as sent. Unlike adding a stakeholder, this route does not check the email's shape or the type and relationship vocabularies, so it can record a value that adding one would have rejected.
| Tool | patch_v1_captable_stakeholders_id |
| Door | https://api.hanzo.ai/v1/mcp |
| Method | tools/call (JSON-RPC 2.0) |
| Arguments | 11 |
| Operation | PATCH /v1/captable/stakeholders/{id} |
| Product | captable |
Arguments
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
city | any | — | — | City is the stakeholder's city. |
currentRelationship | any | — | — | CurrentRelationship is how the stakeholder relates to the company, e.g. FOUNDER, INVESTOR or EMPLOYEE. This route stores it as sent — unlike adding a stakeholder, it is not checked against the vocabulary. |
email | any | — | — | Email is the stakeholder's email. This route stores it as sent — unlike adding a stakeholder, it is not checked for shape or uniqueness. |
id | string | — | — | ID is the stakeholder to update. It is the path segment: the URL is the addressing authority, and the org it is resolved in comes from the caller's principal, so an id from another tenant is simply not found. |
institutionName | any | — | — | InstitutionName names the institution, when the stakeholder is one. |
name | any | — | — | Name is the stakeholder's full name. |
stakeholderType | any | — | — | StakeholderType is INDIVIDUAL or INSTITUTION. This route stores it as sent — unlike adding a stakeholder, it is not checked against the vocabulary. |
state | any | — | — | State is the stakeholder's state or province. |
streetAddress | any | — | — | StreetAddress is the stakeholder's street address. |
taxId | any | — | — | TaxID is the stakeholder's tax identifier. |
zipcode | any | — | — | Zipcode is the stakeholder's postal code. |
This tool's schema does not declare which fields are required, nor any default, nor any enumerated value set. The columns above are empty because the door publishes nothing there, not because the answer is "none" — where a field is constrained, the constraint is stated in that field's own description.
Call it
A tools/call carries every argument in one flat object — nothing binds to a path or a query string. Every declared argument is shown, because the door marks none of them required.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "patch_v1_captable_stakeholders_id",
"arguments": {
"city": "<city>",
"currentRelationship": "<currentRelationship>",
"email": "<email>",
"id": "<id>",
"institutionName": "<institutionName>",
"name": "<name>",
"stakeholderType": "<stakeholderType>",
"state": "<state>",
"streetAddress": "<streetAddress>",
"taxId": "<taxId>",
"zipcode": "<zipcode>"
}
}
}'Values are placeholders derived from each field's declared type. tools/list needs no credential; tools/call does — called without one the door answers HTTP 200 with a JSON-RPC result whose isError is set and whose text says what was missing. How to get a key →
The operation behind it
| Operation | Route | Product | Summary |
|---|---|---|---|
cloud_patch_v1_captable_stakeholders_id | PATCH /v1/captable/stakeholders/{id} | captable | UpdateStakeholder changes one of the caller org's stakeholders. |
The same capability over plain HTTP is in the captable API reference, on https://api.hanzo.ai.
All 834 tools · The door · API reference
Generated from tools/list on https://api.hanzo.ai/v1/mcp — 834 tools captured 2026-08-01 (this build read the vendored copy; the door was unreachable).
How is this guide?