Get a customer's statement as CSV
GET /customers/{id}/statement's own rows, as text/csv.
apiKeyAuthorizationBearer <token>An API key from the Developers page. rhq_test_ keys reach the sandbox, rhq_live_ keys the live side.
id*stringfrom*stringThe start of the statement, inclusive
date-timeto*stringThe end of the statement, inclusive
date-timeSuccess
response?stringapplication/jsonSuccess
curl -X GET "https://example.com/v1/customers/cus_01K6XJ4Q8ZT3M9R5V2B7WDHNCA/statement.csv?from=2026-10-07T11%3A04%3A31.000Z&to=2026-10-07T11%3A04%3A31.000Z""string"Get a customer's statement GET
Opening balance, every invoice, credit note, payment and refund in the date range, and the closing balance: one row set for each currency this customer has been billed, paid or refunded in. `GET /customers/{id}/statement.csv` with the same query returns the same rows as CSV.
Preview a billing run POST
Computes, but does not create, one invoice per `(customerId, currency)` pair that has eligible, uninvoiced sales made at or before `asOf`: the same rules `POST /invoices` already enforces, applied to every customer at once, at most 500 sales per row, oldest first. Nothing is written to your sales or invoices; nothing bills a customer until a run is committed. One run holds at most 1000 rows: with more customers waiting than that, `truncated` is true and the rest come up in your next run.