Use reports API v2 to export subscription, invoice, payment, and tax data as a CSV file.
Each report covers one report_type and one date range, with date_from inclusive and date_to exclusive. The table shows the date field each report type uses to select records.
| Type | Date used | Description |
|---|---|---|
| INVOICES | Creation date | Invoice line items, with one row per line item. Covers invoice content, such as billed products and amounts, not payment details. |
| SUBSCRIPTIONS | Creation date | Subscriptions, with one row per subscription line item. |
| TAX_TRANSACTIONAL | Processing date | Tax line items, with one row per tax line item. |
| INVOICE_PAYMENTS | Creation date | Invoice payments, with one row per payment. Covers payment amount and method, not invoice line item details. |
| TAX_SUMMARY | Processing date | Tax totals, with one row per legal entity, tax jurisdiction, tax rate, tax currency, and processing currency combination. |
Account and channel scope
The API credentials used to create the report determine its account and channel scope. By default, a report covers the entire account. If the credentials are limited to specific channels, the report includes a parameters.channel_ids array instead.
- Use the
create report
API v2
request.
- Set
report_typeto one of the report types listed above. - Pass
date_fromanddate_to.
- Set
- Save the report
idfrom the response. Processing is asynchronous and starts in PROCESSING status. - Use one of the following requests to track report processing:
-
get report
API v2
with the report
idto check its status untilstatusis no longer PROCESSING . The response includes the report only if the API key has access to it. -
list reports
API v2
with
report_typeto filter reports and check the status of multiple reports without specifying a singleid.
-
get report
API v2
with the report
- Use the
download report
API v2
request with the report
id. A successful response returns a 303 redirect to a short-lived download URL in theLocationheader.
- 303 - redirect to a short-lived download URL
- 404 - report not found
- 422 - report still processing, failed, or expired
Report statuses
| Status | Description |
|---|---|
| PROCESSING | Report is being generated. Poll until it reaches another status. |
| SUCCEEDED | Report is ready to download. |
| FAILED | Report generation failed. Try creating the report again. |
| EXPIRED | Report is no longer available 30 days after creation. |
|
|
Handle event
Report generated Webhook fires when a report finishes generating and is ready to download.
The event includes a unique event_id, event_type set to
REPORT_GENERATED
, the occurred_at timestamp, and data.report with the same fields as the report returned by create, get, and list reports.
Set up a
Configure webhook endpoints to receive real-time event notifications for payment status changes, subscription updates, and refund outcomes
webhook endpoint
and verify event signatures.
Use the event to start the next step automatically, such as downloading the report, loading the data into your own systems, or notifying your team.