Skip to content

Statements

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.

What a statement represents

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.

FieldWhat it tells you
idA stable global identifier for the statement.
period_start, period_endThe inclusive boundaries of the statement period.
available_atWhen the finalized statement became available for retrieval.
pdf_urlA 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.
accountsThe per-account figures (see below). Account and treasury statements may span multiple checking/savings accounts; credit statements carry a single entry.

Per-account figures

Each entry in accounts carries the figures for one account over the period:

FieldWhat it tells you
account_idThe account the figures belong to, or null for credit statements, which are not tied to a deposit account.
account_typeOne of checking, savings, credit, or treasury.
opening_balance, closing_balanceBalance at the start of the period and at its close. closing_balance is the reconciliation anchor.
total_credits, total_debits, total_feesSums of credits, debits, and fees posted in the period, in minor units (cents for USD).
repayment_date, spending, repayments, cashbackCredit statements only; null for deposit accounts.

Filtering by account

The account_id query parameter selects complete statement documents, not account-only projections. A statement matches when its accounts array contains at least one requested account ID; if you supply multiple IDs, they use OR semantics.

Because account and treasury statements can be consolidated, a matched statement's accounts array and PDF may include additional accounts belonging to your business. Filtering does not remove those entries or alter the PDF.

Credit statements cover your business's credit line, not an individual account. To fetch them, use statement_type=credit without account_id:

curl 'https://rhoapi.rho.co/api/v1/statements?statement_type=credit' \
  -H "Authorization: Bearer $RHO_API_TOKEN"
Account filterBehavior
account_id with statement_type including creditReturns 400 with you cannot filter credit statements by account_id.
All requested account IDs belong to credit accountsReturns the same 400 error, even without statement_type.
A mix of credit and non-credit account IDs, without statement_type=creditReturns matching account and treasury statements; credit statements aren't included.

Supported statements

The supported statement types are account, credit, and treasury. Rho doesn't currently generate statements for rewards accounts. Filtering by a rewards account ID returns no statements.

Common workflows

Archiving month-end PDFs

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"

Reconciling balances

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.

Reference

Full endpoint catalogue - paths, parameters, response shapes, and required scopes - lives in the API Reference.