get_payout_accounts_by_orgid_clawbacks

Read-only

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

A service provider's payout clawbacks, and the payouts it may report

What the clinic's clawback panel reads: its clawbacks as the clinic may read them, newest first — every one it filed, one Pawsitive Future filed only from its approval on, a memo only where the clinic wrote it, and no reviewer, decider or fee terms; the PAID vouchers it was paid for with part of the payout left to claim and no clawback in flight, which it may report a problem with; and whether this caller may file one (mayRequestClawback, computed by the server — the form posts to POST /api/finance/clawbacks). Needs hospital.clawbacks.request or hospital.reports.view in this organization, or platform staff; the organization must be a SERVICE_PROVIDER (403 otherwise). Each clawback carries when the clinic was sent its written notice and what it still owes; payoutsPaused, pausedSince and owedCents say whether an approved clawback pauses the clinic's payouts. Money is integer CENTS; times are epoch milliseconds.

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_clawbacks",
    "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 organization's clawbacks and the vouchers it may report.

json
{
  "eligibleVouchers": [
    {
      "code": "string",
      "creditedAmount": 1,
      "currency": "string",
      "id": "11111111-1111-4111-8111-111111111111",
      "paidAt": 1,
      "remainingAmount": 1
    }
  ],
  "mayRequestClawback": true,
  "orgId": "11111111-1111-4111-8111-111111111111",
  "owedCents": 1,
  "pauseReason": "COLLECTING",
  "pausedSince": 1,
  "payoutsPaused": true,
  "requests": [
    {
      "amount": 1,
      "currency": "string",
      "decidedAt": 1,
      "filedBy": "SERVICE_PROVIDER",
      "id": "11111111-1111-4111-8111-111111111111",
      "memo": "string",
      "noticeSentAt": 1,
      "owedCents": 1,
      "reasonCode": "PFF_DISCRETIONARY",
      "repayment": {},
      "requestedAt": 1,
      "status": "REQUESTED",
      "voucherCode": "string",
      "voucherId": "11111111-1111-4111-8111-111111111111"
    }
  ]
}

Fields

FieldTypeDescription
eligibleVouchersarray of object
eligibleVouchers[].codestring
eligibleVouchers[].creditedAmountintegerCENTS its payout paid.
eligibleVouchers[].currencystring
eligibleVouchers[].idstring (uuid)
eligibleVouchers[].paidAtinteger | nullEpoch milliseconds.
eligibleVouchers[].remainingAmountintegerCENTS still claimable — creditedAmount less every clawback of it that was not denied — and the most a clawback may ask back.
mayRequestClawbackbooleanWhether this caller may file a clawback for this organization.
orgIdstring (uuid)
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.
requestsarray of object
requests[].amountintegerCENTS asked back.
requests[].currencystring
requests[].decidedAtinteger | nullEpoch milliseconds Pawsitive Future approved or denied it; null while it awaits a decision.
requests[].filedBy"SERVICE_PROVIDER" | "PAWSITIVE_FUTURE"Who filed a clawback — the service provider that was paid, or Pawsitive Future staff.
requests[].idstring (uuid)
requests[].memostring | nullWhat the service provider wrote when it filed; null for a clawback Pawsitive Future filed.
requests[].noticeSentAtinteger | nullEpoch milliseconds the clinic was sent the written notice of an approved clawback; null before one was sent.
requests[].owedCentsintegerCENTS still owed while it is being collected; 0 otherwise.
requests[].reasonCode"PFF_DISCRETIONARY" | "PROCEDURE_NOT_COMPLETED" | "BENEFICIARY_DISPUTE" | "DUPLICATE_OR_ERRONEOUS_PAYOUT" | "DONATION_REVERSED" | "OTHER"Why a clawback was filed. A service provider files PROCEDURE_NOT_COMPLETED, BENEFICIARY_DISPUTE or OTHER about a payout it received; the rest are Pawsitive Future's findings. OTHER needs a memo of at least 20 characters.
requests[].repaymentobjectWhat the clinic may repay of one clawback from its Payout tab now. Repayable once the clawback is being collected (EXECUTING) and its payout transfer is reversed or needs none: what is owed, less offsets in flight, bank debits recorded or started at Stripe, and portal payments still settling. 0 otherwise.
requests[].repayment.processingobject | nullThe clinic's portal payments still settling (a bank payment takes days); null when none.
requests[].repayment.processingFeeobject | nullThe processor's rates the clinic pays on top, the fee shown as its own line before it pays; null when it pays none (Pawsitive Future absorbs it, or the Terms allowing it are not yet in effect).
requests[].repayment.repayableCentsintegerCENTS the clinic may repay now, fee excluded.
requests[].requestedAtintegerEpoch milliseconds.
requests[].status"REQUESTED" | "APPROVED" | "DENIED" | "EXECUTING" | "RECOVERED" | "PARTIALLY_RECOVERED" | … (7 values)A payout clawback's lifecycle, kept apart from its ledger transaction's status. Filing and deciding reach REQUESTED, APPROVED and DENIED; the rest follow execution. RECOVERED is "cash confirmed": Pawsitive Future has confirmed the full amount is back in hand, never merely a booked reversal.
requests[].voucherCodestring
requests[].voucherIdstring (uuid)

When it fails

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

403

The caller holds neither feature in this organization, directly or 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_clawbacks",
  "description": "GET /api/payout-accounts/{orgId}/clawbacks — What the clinic's clawback panel reads: its clawbacks as the clinic may read them, newest first — every one it filed, one Pawsitive Future filed only from its approval on, a memo only where the clinic wrote it, and no reviewer, decider or fee terms; the PAID vouchers it was paid for with part of the payout left to claim and no clawback in flight, which it may report a problem with; and whether this caller may file one (`mayRequestClawback`, computed by the server — the form posts to POST /api/finance/clawbacks). Needs `hospital.clawbacks.request` or `hospital.reports.view` in this organization, or platform staff; the organization must be a SERVICE_PROVIDER (403 otherwise). Each clawback carries when the clinic was sent its written notice and what it still owes; `payoutsPaused`, `pausedSince` and `owedCents` say whether an approved clawback pauses the clinic's payouts. Money is integer CENTS; times are epoch milliseconds.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "orgId": {
        "type": "string"
      }
    },
    "required": [
      "orgId"
    ]
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}