get_payout_accounts_by_orgid

Read-only

Calls GET /api/payout-accounts/{orgId} as the signed-in person · REST reference

A service provider's payout account

The balance the organization is owed, its EFT account on Stripe, its payout cadence and when the schedule next pays it. Needs hospital.reports.view in this organization (a clinic's owner holds it; a read-only member does not), or platform staff; the organization must be a SERVICE_PROVIDER, the one type that is paid out (403 otherwise). Reading the EFT account asks Stripe about the organization's connected account and brings the ledger's copy up to Stripe's answer — the write that makes a setup finished on Stripe's page payable. When Stripe does not answer, the ledger's copy is served and nothing is written. Money is integer CENTS.

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_payout_accounts_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 payout account.

json
{
  "balance": 1,
  "cadence": "MANUAL",
  "canManage": true,
  "currency": "string",
  "eft": {
    "bankLast4": "string",
    "bankName": "string",
    "businessType": "individual",
    "detailsSubmitted": true,
    "payoutsEnabled": true,
    "requirementsDue": [
      "string"
    ],
    "status": "NOT_STARTED",
    "taxIdProvided": true
  },
  "lastPayoutAt": 1,
  "nextScheduledPayoutAt": 1,
  "orgId": "11111111-1111-4111-8111-111111111111",
  "orgName": "string",
  "organization": {
    "email": "string",
    "website": "string"
  },
  "owedCents": 1,
  "pauseReason": "COLLECTING",
  "pausedSince": 1,
  "payoutsPaused": true
}

Fields

FieldTypeDescription
balanceintegerCENTS the organization is owed — its ORG_BALANCE, credited when a claim is approved and drained by a payout run.
cadence"MANUAL" | "DAILY" | "WEEKLY" | "MONTHLY"How often the organization is paid out; MANUAL when it never chose. Set with PATCH /api/orgs/{id} (payoutCadence).
canManagebooleanWhether the caller may change the account — set it up, set its cadence, pay out now: execute:UpdateOrgCommand in this organization, or platform staff.
currencystring
eftobjectWhere the organization's payout (EFT) account stands — Stripe's answer for the connected account a payout transfers to, or the ledger's copy when Stripe was not asked (a ledger placeholder account) or did not answer.
eft.bankLast4string | nullLast four digits of the bank account Stripe pays out to, when Stripe reported one.
eft.bankNamestring | null
eft.businessType"individual" | "company" | nullThe business type the details were submitted as; null when none were, or Stripe did not answer.
eft.detailsSubmittedboolean
eft.payoutsEnabledboolean
eft.requirementsDuearray of stringStripe's requirement ids still owed, past due first. Empty when none or unknown.
eft.status"NOT_STARTED" | "INCOMPLETE" | "VERIFYING" | "ACTION_REQUIRED" | "REJECTED" | "ACTIVE"NOT_STARTED — no connected account. INCOMPLETE — setup on Stripe's page was not finished. VERIFYING — everything was submitted and Stripe has not enabled payouts yet. ACTION_REQUIRED — Stripe needs more information. REJECTED — Stripe rejected the account. ACTIVE — payouts are enabled.
eft.taxIdProvidedboolean | nullWhether Stripe holds the full SSN (individual.id_number_provided) or EIN (company.tax_id_provided) it files the clinic's Form 1099 under; null when unknown. False on an account whose details were submitted is what POST /tax-details completes.
lastPayoutAtinteger | nullEpoch milliseconds of the most recent settled payout; null when there is none.
nextScheduledPayoutAtinteger | nullEpoch milliseconds the schedule next pays the organization — now when this period has not paid yet, otherwise the start of the next period (UTC: a day, a week from Monday, a month from the 1st). Null for MANUAL, and wherever scheduleRunning is false.
orgIdstring (uuid)
orgNamestring
organizationobjectThe organization profile details Stripe receives with the payout account. The EFT form shows them, prefilled, and saves corrections back to the organization (PATCH /api/orgs/{id}) when it is submitted. Null where the profile has none.
organization.emailstring | null
organization.websitestring | null
owedCentsintegerCENTS the organization's clawbacks being collected are still owed.
pauseReason"COLLECTING" | "UNTIL_RESUMED" | nullWhy the payouts are held. COLLECTING: a clawback is being collected — credits are set off against it and payouts resume once it is recovered. UNTIL_RESUMED: only clawbacks closed without all of their amount hold them — nothing is set off, and payouts resume when Pawsitive Future resumes them. Null when nothing holds them. Computed by the server.
pausedSinceinteger | nullEpoch milliseconds the oldest clawback pausing the payouts was approved; null when not paused.
payoutsPausedbooleanWhether a payout clawback pauses the organization's payouts: one approved and being collected, or one closed without all of its cash until Pawsitive Future resumes them. While paused, credits it earns are set off against the clawback and nothing is paid to its bank. Computed by the server.
scheduleRunningbooleanWhether this deployment runs the payout schedule (PAYOUT_SCHEDULE_ENABLED).

When it fails

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

403

The caller holds hospital.reports.view in this organization neither directly nor as platform staff, or the organization is not a service provider.

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_payout_accounts_by_orgid",
  "description": "GET /api/payout-accounts/{orgId} — The balance the organization is owed, its EFT account on Stripe, its payout cadence and when the schedule next pays it. Needs `hospital.reports.view` in this organization (a clinic's owner holds it; a read-only member does not), or platform staff; the organization must be a SERVICE_PROVIDER, the one type that is paid out (403 otherwise). Reading the EFT account asks Stripe about the organization's connected account and brings the ledger's copy up to Stripe's answer — the write that makes a setup finished on Stripe's page payable. When Stripe does not answer, the ledger's copy is served and nothing is written. Money is integer CENTS.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "orgId": {
        "type": "string"
      }
    },
    "required": [
      "orgId"
    ]
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}