get_vouchers_pending_claims
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.
{
"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.
[
{
"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
| Field | Type | Description |
|---|---|---|
[].amount | integer | null | The 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). |
[].claimedByOrgId | string (uuid) | null | The clinic that took the voucher — the one approval pays. |
[].code | string | |
[].id | string (uuid) | The VOUCHER id — there is no separate claim entity. |
[].maxPayout | integer | null | The voucher's catalog cap in CENTS, when it has one. |
[].orgName | string | Name 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. |
[].procedure | string | null | |
[].receiptAmount | integer | null | The 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. |
[].receiptValidatedAmount | integer | null | The 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. |
[].submittedDate | string (date-time) | null | ISO-8601: when the claim was submitted (claimedAt), else when the voucher was made (createdAt); null when neither is recorded. |
[].value | integer | Face value in CENTS — the cap when maxPayout is null, never what the claim is worth. |
[].workOrderId | string | null |
When it fails
A failed call returns isError: true with the API's message as text.
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_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
}
}