get_ownership_transfers_by_orgid

Read-only

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

ArgumentTypeDescription
orgIdpathstring (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.

json
{
  "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.

json
{
  "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

FieldTypeDescription
dataobject
data.callerIsOwnerbooleanWhether the caller owns this organization — and so may start a transfer. Gate on this, never a role name.
data.callerMayCancelboolean
data.callerSide"FROM" | "TO"
data.eligibleRecipientsarray of objectThe current members the owner may transfer to. Empty unless callerIsOwner.
data.eligibleRecipients[].emailstring
data.eligibleRecipients[].firstNamestring | null
data.eligibleRecipients[].lastNamestring | null
data.eligibleRecipients[].userIdstring (uuid)
data.orgIdstring (uuid)
data.transferobject | nullThe organization's current or recently finished transfer — only for its two people and platform staff.
data.transfer.cancelReasonstring | null
data.transfer.cancelledAtinteger | null
data.transfer.completedAtinteger | null
data.transfer.createdAtintegerEpoch milliseconds.
data.transfer.expiresAtintegerEpoch milliseconds — the deadline both sides must confirm by. The same lifetime as every other code (OTP_EXPIRY_SECONDS).
data.transfer.fromobject
data.transfer.idstring (uuid)
data.transfer.orgIdstring (uuid)
data.transfer.orgNamestring
data.transfer.status"PENDING" | "COMPLETED" | "CANCELLED" | "EXPIRED"
data.transfer.toobject
successtrue

When it fails

A failed call returns isError: true with the API's message as text.

400

The request was malformed or failed a guard.

403

Authenticated, 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.

json
{
  "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
  }
}