Reports turn order, payment, Flint billing, balance, payout, and tax history into versioned CSV files. Generation is asynchronous: create a report, wait for report.succeeded or poll the resource, then download the file with your API key. Report routes are API-key-only, and reports are scoped to the environment the key belongs to.
A report covers one currency over one closed interval. interval_start_at is inclusive, interval_end_at is exclusive, and an end in the future is rejected. payments_itemized_v1 and tax_summarized_v1 intervals are limited to 366 days; other itemized intervals are limited to 90 days. timezone changes how timestamp columns are rendered. Payout arrival is a calendar date rather than an instant, so payout reports also interpret the interval boundaries as local calendar dates in this timezone. Each report type matches the interval on its own timestamp or date (order close, capture time, Flint billing entry occurrence, balance transaction time, payout arrival), so two report types over the same dates are not expected to select the same underlying activity.
A report is pending, succeeded with an expiring download, or failed with a failure_reason. Flint uses data_unavailable when payout allocations or tax lineage have not landed yet, and limit_exceeded when generation crosses a documented bound. Download requests redirect to a short-lived private file URL. Downloads expire 24 hours after success and then return 410; create the report again with a new Idempotency-Key to get a fresh file.
Use merchant_billing_itemized_v1 for the line-by-line history behind what you owe Flint and the account credit you hold, covering event fees, Flint subscription invoice charges, finalized fee corrections, credit issued and applied, collections, collection reversals, and write-offs. See Flint Billing. For the transactions in one specific payout, GET /v1/payouts/{payout_id}/entries on money movement answers directly without generating a report. See Reports for column layouts and reconciliation recipes.
