{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Statements","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"statements","__idx":0},"children":["Statements"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Stable contract"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Statements API is part of the stable ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1"]}," contract: additive-only, with breaking changes reserved for a new API version. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1/versioning"},"children":["Versioning and compatibility"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-a-statement-represents","__idx":1},"children":["What a statement represents"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A single ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["statement"]}," record covers one statement period for one statement type. Its top-level fields describe the period; the per-account figures live in an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accounts"]}," array."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What it tells you"},"children":["What it tells you"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A stable global identifier for the statement. Not the internal row ID."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["period_start"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["period_end"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The inclusive boundaries of the statement period."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["available_at"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When the finalized statement became available for retrieval."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pdf_url"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A short-lived signed download URL for the PDF, valid for up to 15 minutes, or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," when the document cannot be linked. If the link lapses, re-fetch the statement with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /statements/{id}"]}," for a fresh URL."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accounts"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The per-account figures (see below). Account and treasury statements may span multiple checking/savings accounts; credit statements carry a single entry."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"per-account-figures","__idx":2},"children":["Per-account figures"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each entry in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accounts"]}," carries the figures for one account over the period:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What it tells you"},"children":["What it tells you"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The account the figures belong to, or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," for credit statements, which are not tied to a deposit account."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One of checking, savings, credit, or treasury."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["opening_balance"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["closing_balance"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Balance at the start of the period and at its close. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["closing_balance"]}," is the reconciliation anchor."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["total_credits"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["total_debits"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["total_fees"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sums of credits, debits, and fees posted in the period, in minor units (cents for USD)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["repayment_date"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["spending"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["repayments"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cashback"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Credit statements only; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," for deposit accounts."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"common-workflows","__idx":3},"children":["Common workflows"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"archiving-month-end-pdfs","__idx":4},"children":["Archiving month-end PDFs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List statements as they become available and download each PDF for your records:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl 'https://rhoapi.rho.co/api/v1/statements?period_end_after=2026-05-01&period_end_before=2026-06-01&page_size=100' \\\n  -H \"Authorization: Bearer $RHO_API_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Follow the cursor (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1/pagination"},"children":["Pagination"]},") until ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["next_page_token"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]},", then download each ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pdf_url"]}," promptly. A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["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 ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /statements/{id}"]}," to get a fresh ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pdf_url"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl 'https://rhoapi.rho.co/api/v1/statements/{id}' \\\n  -H \"Authorization: Bearer $RHO_API_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"reconciling-balances","__idx":5},"children":["Reconciling balances"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For each statement, read the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["closing_balance"]}," of the relevant ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accounts"]}," entry as the anchor for that account's period, and compare against your ledger. Credit statements expose ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["spending"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["repayments"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cashback"]}," to reconcile the card line."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"reference","__idx":6},"children":["Reference"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Full endpoint catalogue - paths, parameters, response shapes, and required scopes - lives in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api/v1/openapi/statements"},"children":["API Reference"]},"."]}]},"headings":[{"value":"Statements","id":"statements","depth":1},{"value":"What a statement represents","id":"what-a-statement-represents","depth":2},{"value":"Per-account figures","id":"per-account-figures","depth":3},{"value":"Common workflows","id":"common-workflows","depth":2},{"value":"Archiving month-end PDFs","id":"archiving-month-end-pdfs","depth":3},{"value":"Reconciling balances","id":"reconciling-balances","depth":3},{"value":"Reference","id":"reference","depth":2}],"frontmatter":{"seo":{"title":"Statements"}},"lastModified":"2026-07-29T13:58:14.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/v1/statements","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}