get_payee_reports_year_csv

Read-only

Calls GET /api/payee-reports/{year}.csv as the signed-in person · REST reference

The payee report as CSV

The same rows as GET /api/payee-reports/{year}, one per clinic, amounts in dollars with two decimals, CRLF line ends. A text cell starting with =, +, - or @ is prefixed with ' so a spreadsheet reads it as text. Platform staff only.

Arguments

ArgumentTypeDescription
yearpathstringrequired

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_payee_reports_year_csv",
    "arguments": {
      "year": "string"
    }
  }
}

Result

There is no response body. On success the tool answers with one line of text saying so — GET /api/payee-reports/{year}.csv succeeded., with the parameters filled in.

When it fails

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

400

The year is out of range (details.field year).

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_payee_reports_year_csv",
  "description": "GET /api/payee-reports/{year}.csv — The same rows as `GET /api/payee-reports/{year}`, one per clinic, amounts in dollars with two decimals, CRLF line ends. A text cell starting with `=`, `+`, `-` or `@` is prefixed with `'` so a spreadsheet reads it as text. Platform staff only.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "year": {
        "type": "string"
      }
    },
    "required": [
      "year"
    ]
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}