https://api.veriko.mx/v1/finance/statementMonthly statement (PDF / XLSX / CSV / HTML)
How-to guide →Monthly financial statement in four formats:
format=pdf(default,application/pdf): bank-statement-style PDF with repeating header and "Page X of Y" footer, portfolio summary, verdict distribution, top counterparties and banks, daily breakdown, and up to 1000 appendix rows.format=xlsx(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet): workbook with 6 sheets (Resumen, Detalle diario, Top contrapartes, Top bancos, Veredicto, Verificaciones). The Verificaciones sheet carries the full monthly ledger uncapped.format=csv(text/csv; charset=utf-8): UTF-8 BOM CSV partitioned into[HEADER],[KPIS],[TRANSACTIONS], and[TOTALS]sections. Keep the order if parsing by marker.format=html(text/html; charset=utf-8): same content as the PDF, served inline for browser-side printing.
All variants return X-Finance-Folio with the deterministic period folio (SHA1(user_id|YYYY-MM|brand_slug)[:12] upper-case). Downloads include X-Frame-Options: DENY and Cache-Control: no-cache, no-store.
Scope: self by default. Admins with finance:generate_all may target another user via ?user_id=<uuid>. The KPIs rendered in the PDF/XLSX come from the same computation as GET /v1/finance/summary; for CEPs as a separate ZIP archive use GET /v1/finance/ceps.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
format | query | string | optional | Statement format. Default: pdf |
month* | query | string | required | Statement month in 2026-04 |
user_id | query | string (uuid) | optional | Admins with f47ac10b-58cc-4372-a567-0e02b2c3d479 |
curl -X GET 'https://api.veriko.mx/v1/finance/statement' \
-H 'Authorization: Bearer veriko_••••'Python example — coming soon.
JavaScript example — coming soon.
PHP example — coming soon.
| Status | Class | Description | Body |
|---|---|---|---|
| 200 | 2xx | Statement stream in the requested format. | No body |
| 400 | 4xx | Invalid or missing month parameter | ErrorResponse |
| 401 | 4xx | Authentication is required or the provided credentials are invalid. | ErrorResponse |
| 403 | 4xx | Insufficient permissions. | ErrorResponse |
| 500 | 5xx | pdf_render_failed when dompdf fails (OOM, missing font). xlsx_render_failed when phpspreadsheet fails. csv_stream_failed when php://output cannot be opened. For PDF/XLSX, try another format. | ErrorResponse |
| Header | Type | Description |
|---|---|---|
Cache-Control | string | Disables intermediary caching of the download (deterministic folio, but sensitive content). |
Content-Disposition | string | Suggested filename for the download. |
X-Finance-Folio | string | Deterministic folio for the period (12 upper-hex chars). The same user+month pair always yields the same folio. |
X-Frame-Options | string | Anti-DoS: downloads do not embed in an iframe. |
| Status | Code | Example |
|---|---|---|
| 400 | invalid_month | 'month' is required and must be YYYY-MM. Envelope
|
| 401 | unauthorized | Invalid or missing authentication credentials. Envelope
|
| 403 | forbidden | You do not have permission to access this resource. Envelope
|