# Request an account statement

> Requests the generation of an account statement for a banking API account, with a 60-day maximum range. It moves no money: it generates a read-only document and returns request_id with status PENDING.

- kind: mcp-tool
- status: stable
- access: write
- last_verified: 2026-10-22
- url: https://tilopay.com/en/developers/agentes/mcp/api-bancario/request-statement

> These tools are enabled on request and only work for users with Tilopay banking API credentials. They are not part of the default MCP access: Tilopay enables the group case by case. Requires: Tilopay banking API credentials registered by Tilopay for that user.

- `baas_request_statement`
- Access: Write
- API operation: `POST /api/public/v1/accounts/statements` — https://tilopay.com/en/developers/api-bancario/cuentas

Requests asynchronous generation of an account statement for a banking API account, with a 60-day maximum range. It moves no money: it generates a read-only document. The API always returns 202 ACCEPTED with request_id and status PENDING. Check baas_get_statement_status for the download; when DONE, download_url is valid for 48 hours.

**Parameters**

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `currency` | string | — | Account currency (CRC or USD) |
| `accountIndex` | integer | — | Account number in the list |
| `accountValue` | string | — | Only if already returned by a tool and matching one of your accounts. Account precedence: accountValue → currency (first matching account) → accountIndex (1-based) → sole account. |
| `dateFrom` | string | yes | From, RFC 3339 (2026-01-01T00:00:00Z) |
| `dateTo` | string | yes | To, RFC 3339, at most 60 days after dateFrom |
| `assignmentId` | string | — | Banking API context (assignment); only needed when there are several |

**Returns**

`{ result }`

result = the banking API response with request_id and status. The tool requests the document without email notification.

## Generation and download [#generacion]

The Banking API always returns `202 ACCEPTED` with `request_id` and `status: PENDING`; the document is generated asynchronously. Check its status with `baas_get_statement_status`: the API returns `200` with `PENDING`, `PROCESSING`, `DONE` or `ERROR`. `DONE` includes `download_url`, valid for **48 hours**.
