get_vouchers_pending_claims

Read-only

Calls GET /api/vouchers/pending-claims as the signed-in person · REST reference

The PFF approval queue — vouchers sitting in CLAIMED

Vouchers in state CLAIMED, each with what a reviewer triages its claim on — the clinic, procedure and work order, what the clinic billed, the invoice and its check, the cap and the value approval would credit — for Voucher Management's Claims to approve and the dashboard. Capped at 50 by the service (there is no query parameter to widen it, and no total is returned, so a longer queue is silently truncated). Declared before /{id} so the literal path is not captured as a voucher id. Not org-scoped — the route is platform-staff only. Org names are resolved per distinct org with individual DAL lookups; a failed lookup omits orgName rather than failing the request. Money here is integer CENTS, like every other money field on this API.

Arguments

This tool takes no arguments.

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_vouchers_pending_claims",
    "arguments": {}
  }
}

Result

On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.

A bare array of pending claims, in the DAL's own order.

json
[
  {
    "amount": 1,
    "claimedByOrgId": "11111111-1111-4111-8111-111111111111",
    "code": "string",
    "id": "11111111-1111-4111-8111-111111111111",
    "maxPayout": 1,
    "procedure": "string",
    "receiptAmount": 1,
    "receiptUploadStatus": "STORED",
    "receiptValidatedAmount": 1,
    "receiptValidationStatus": "PENDING",
    "status": "pending",
    "submittedDate": "2026-01-15T12:00:00Z",
    "value": 1,
    "workOrderId": "string"
  }
]

Fields

FieldTypeDescription
[].amountinteger | nullThe value of the voucher's claim in CENTS — the only money a voucher is shown as worth, derived by the backend (claimAmount, backend/src/domain/claimInvoice.ts), not a DAL field. Null until the claim is submitted, and while a CLAIMED voucher's invoice waits on the AI or a reviewer; a CLAIMED voucher's validated covered amount, capped as approval caps it; from APPROVED on, what approval credited (creditedAmount). Never the face value (value).
[].claimedByOrgIdstring (uuid) | nullThe clinic that took the voucher — the one approval pays.
[].codestring
[].idstring (uuid)The VOUCHER id — there is no separate claim entity.
[].maxPayoutinteger | nullThe voucher's catalog cap in CENTS, when it has one.
[].orgNamestringName of the claiming clinic — the one that took the voucher. Key is ABSENT (not null) when the org lookup failed or no clinic is recorded.
[].procedurestring | null
[].receiptAmountinteger | nullThe invoice total the clinic entered, in CENTS — what it billed, not what PFF pays.
[].receiptUploadStatus"STORED" | "PENDING_UPLOAD"STORED when the invoice PDF is in storage.
[].receiptValidatedAmountinteger | nullThe covered amount the invoice check read off the invoice, in CENTS.
[].receiptValidationStatus"PENDING" | "VALID" | "PENDING_MANUAL_REVIEW"The invoice check's verdict; PENDING_MANUAL_REVIEW means approval needs a reviewer's amount.
[].status"pending"Hardcoded literal, not the voucher's state.
[].submittedDatestring (date-time) | nullISO-8601: when the claim was submitted (claimedAt), else when the voucher was made (createdAt); null when neither is recorded.
[].valueintegerFace value in CENTS — the cap when maxPayout is null, never what the claim is worth.
[].workOrderIdstring | null

When it fails

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

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_vouchers_pending_claims",
  "description": "GET /api/vouchers/pending-claims — Vouchers in state CLAIMED, each with what a reviewer triages its claim on — the clinic, procedure and work order, what the clinic billed, the invoice and its check, the cap and the value approval would credit — for Voucher Management's Claims to approve and the dashboard. Capped at 50 by the service (there is no query parameter to widen it, and no total is returned, so a longer queue is silently truncated). Declared before `/{id}` so the literal path is not captured as a voucher id. Not org-scoped — the route is platform-staff only. Org names are resolved per distinct org with individual DAL lookups; a failed lookup omits `orgName` rather than failing the request. Money here is integer CENTS, like every other money field on this API.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}