get_ownership_transfers_by_orgid
Calls GET /api/ownership-transfers/{orgId} as the signed-in person · REST reference
The caller's view of an organization's ownership
With the caller's own token. Requires org.view in the organization (every member holds it) or platform authority. Says whether the caller owns it and whom they could transfer it to, and shows its transfer to the two people in it and to platform staff.
Arguments
| Argument | Type | Description | |
|---|---|---|---|
orgIdpath | string (uuid) | required |
Example call
A client sends this over the MCP session; Claude and other agents build it for you. The values are placeholders — the shape is real.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_ownership_transfers_by_orgid",
"arguments": {
"orgId": "11111111-1111-4111-8111-111111111111"
}
}
}Result
On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.
The caller's view.
{
"data": {
"callerIsOwner": true,
"callerMayCancel": true,
"eligibleRecipients": [
{}
],
"orgId": "11111111-1111-4111-8111-111111111111",
"callerSide": "FROM",
"transfer": {
"createdAt": 1,
"expiresAt": 1,
"from": {},
"id": "11111111-1111-4111-8111-111111111111",
"orgId": "11111111-1111-4111-8111-111111111111",
"orgName": "string",
"status": "PENDING",
"to": {},
"cancelReason": "string",
"cancelledAt": 1,
"completedAt": 1
}
},
"success": true
}Fields
| Field | Type | Description |
|---|---|---|
data | object | |
data.callerIsOwner | boolean | Whether the caller owns this organization — and so may start a transfer. Gate on this, never a role name. |
data.callerMayCancel | boolean | |
data.callerSide | "FROM" | "TO" | |
data.eligibleRecipients | array of object | The current members the owner may transfer to. Empty unless callerIsOwner. |
data.eligibleRecipients[].email | string | |
data.eligibleRecipients[].firstName | string | null | |
data.eligibleRecipients[].lastName | string | null | |
data.eligibleRecipients[].userId | string (uuid) | |
data.orgId | string (uuid) | |
data.transfer | object | null | The organization's current or recently finished transfer — only for its two people and platform staff. |
data.transfer.cancelReason | string | null | |
data.transfer.cancelledAt | integer | null | |
data.transfer.completedAt | integer | null | |
data.transfer.createdAt | integer | Epoch milliseconds. |
data.transfer.expiresAt | integer | Epoch milliseconds — the deadline both sides must confirm by. The same lifetime as every other code (OTP_EXPIRY_SECONDS). |
data.transfer.from | object | |
data.transfer.id | string (uuid) | |
data.transfer.orgId | string (uuid) | |
data.transfer.orgName | string | |
data.transfer.status | "PENDING" | "COMPLETED" | "CANCELLED" | "EXPIRED" | |
data.transfer.to | object | |
success | true |
When it fails
A failed call returns isError: true with the API's message as text.
400The request was malformed or failed a guard.
403Authenticated, but the caller holds none of the required permissions.
What the model is shown
This is the tool exactly as the server lists it in tools/list. The description starts with the REST call it makes.
{
"name": "get_ownership_transfers_by_orgid",
"description": "GET /api/ownership-transfers/{orgId} — With the caller's own token. Requires `org.view` in the organization (every member holds it) or platform authority. Says whether the caller owns it and whom they could transfer it to, and shows its transfer to the two people in it and to platform staff.",
"inputSchema": {
"type": "object",
"properties": {
"orgId": {
"type": "string"
}
},
"required": [
"orgId"
]
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false
}
}