The Statements API exposes the finalized, period-end documents Rho issues for the accounts your business holds - the same statements you can download from the dashboard. Use it to automate month-end reconciliation, archive PDFs alongside your books, and pull opening/closing balances without scraping the web app.
The Statements API is part of the stable v1 contract: additive-only, with breaking changes reserved for a new API version. See Versioning and compatibility.
A single statement record covers one statement period for one statement type. Its top-level fields describe the period; the per-account figures live in an accounts array.
| Field | What it tells you |
|---|---|
id | A stable global identifier for the statement. Not the internal row ID. |
period_start, period_end | The inclusive boundaries of the statement period. |
available_at | When the finalized statement became available for retrieval. |
pdf_url | A short-lived signed download URL for the PDF, valid for up to 15 minutes, or null when the document cannot be linked. If the link lapses, re-fetch the statement with GET /statements/{id} for a fresh URL. |
accounts | The per-account figures (see below). Account and treasury statements may span multiple checking/savings accounts; credit statements carry a single entry. |
Each entry in accounts carries the figures for one account over the period:
| Field | What it tells you |
|---|---|
account_id | The account the figures belong to, or null for credit statements, which are not tied to a deposit account. |
account_type | One of checking, savings, credit, or treasury. |
opening_balance, closing_balance | Balance at the start of the period and at its close. closing_balance is the reconciliation anchor. |
total_credits, total_debits, total_fees | Sums of credits, debits, and fees posted in the period, in minor units (cents for USD). |
repayment_date, spending, repayments, cashback | Credit statements only; null for deposit accounts. |
List statements as they become available and download each PDF for your records:
curl 'https://rhoapi.rho.co/api/v1/statements?period_end_after=2026-05-01&period_end_before=2026-06-01&page_size=100' \
-H "Authorization: Bearer $RHO_API_TOKEN"Follow the cursor (see Pagination) until next_page_token is null, then download each pdf_url promptly. A pdf_url is a signed link valid for up to 15 minutes. For a long-running archive job, download each PDF soon after you read it rather than collecting URLs up front. If a link lapses mid-run, re-fetch the single statement with GET /statements/{id} to get a fresh pdf_url:
curl 'https://rhoapi.rho.co/api/v1/statements/{id}' \
-H "Authorization: Bearer $RHO_API_TOKEN"For each statement, read the closing_balance of the relevant accounts entry as the anchor for that account's period, and compare against your ledger. Credit statements expose spending, repayments, and cashback to reconcile the card line.
Full endpoint catalogue - paths, parameters, response shapes, and required scopes - lives in the API Reference.