get_allocations
Calls GET /api/allocations as the signed-in person · REST reference
Every organization's voucher budget, and what the pool has left to give
An allocation is the money an organization may mint voucher batches against without per-batch approval. It is stored as an ORG_ALLOCATION account on the org, so there is no separate allocation entity behind this. Every FUNDABLE organization appears — each DISTRIBUTOR and the platform organization — including ones with no allocation, which come back with a zero balance: the list shows who is fundable, not only who is funded. Allocations never go to a service provider. Any other organization appears only when it already holds an allocation account, with allocatable: false, so no budget is hidden. The caller's own bearer token is forwarded to the DAL, so the DAL evaluates the real actor rather than a service identity; the platform-staff middleware here is the outer gate only. All amounts are integer CENTS.
Arguments
| Argument | Type | Description | |
|---|---|---|---|
currencyquery | string | Currency of the allocation accounts to read. Applied only when sent as a string; anything else falls back to USD. Both the allocations and the pool use this value. |
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_allocations",
"arguments": {}
}
}Result
On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.
The allocations and the pool position, both in CENTS.
{
"allocations": [
{
"allocatable": true,
"balance": 1,
"currency": "string",
"granted": 1,
"orgId": "11111111-1111-4111-8111-111111111111",
"orgName": "string",
"accountId": "11111111-1111-4111-8111-111111111111",
"orgStatus": "string",
"orgType": "string",
"updatedAt": 1
}
],
"pool": {
"committed": 1,
"currency": "string",
"grantable": 1,
"outstanding": 1,
"poolBalance": 1
}
}Fields
| Field | Type | Description |
|---|---|---|
allocations | array of object | |
allocations[].accountId | string (uuid) | null | Null for an org that has never been funded. |
allocations[].allocatable | boolean | Whether the organization's TYPE may hold an allocation — a DISTRIBUTOR or the platform organization — by the same predicate the grant applies. It does not reflect orgStatus or the pool, so POST can still refuse a grant to an allocatable organization. |
allocations[].balance | integer | Unspent allocation remaining, in CENTS. |
allocations[].currency | string | |
allocations[].granted | integer | Total ever granted to this org, in CENTS. |
allocations[].orgId | string (uuid) | |
allocations[].orgName | string | |
allocations[].orgStatus | string | null | |
allocations[].orgType | string | null | |
allocations[].updatedAt | integer | null | Epoch MILLISECONDS. |
pool | object | |
pool.committed | integer | Pool money already committed to minted vouchers, in CENTS. |
pool.currency | string | |
pool.grantable | integer | What may still be granted without over-committing the pool, in CENTS. |
pool.outstanding | integer | Granted-but-unspent organization allocations, in CENTS. |
pool.poolBalance | integer | The voucher pool's account balance, in CENTS. |
When it fails
A failed call returns isError: true with the API's message as text.
400The request was malformed or failed a guard.
403Authenticated, but the caller holds none of the required permissions.
404No such resource — or none this caller may see.
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_allocations",
"description": "GET /api/allocations — An allocation is the money an organization may mint voucher batches against without per-batch approval. It is stored as an ORG_ALLOCATION account on the org, so there is no separate allocation entity behind this. Every FUNDABLE organization appears — each DISTRIBUTOR and the platform organization — including ones with no allocation, which come back with a zero balance: the list shows who is fundable, not only who is funded. Allocations never go to a service provider. Any other organization appears only when it already holds an allocation account, with `allocatable: false`, so no budget is hidden. The caller's own bearer token is forwarded to the DAL, so the DAL evaluates the real actor rather than a service identity; the platform-staff middleware here is the outer gate only. All amounts are integer CENTS.",
"inputSchema": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"description": "Currency of the allocation accounts to read. Applied only when sent as a string; anything else falls back to USD. Both the allocations and the pool use this value."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false
}
}