---
api: 'Merchant API'
---

# Download report file

Use this endpoint to download the generated report file.

A generated report file is available for 24 hours after report generation finishes. After that, the report run becomes `expired` and the file can no longer be downloaded.

The response is a raw `text/csv` file. The first row contains the column headers. The columns included depend on the report type used when creating the report run, and the `options.columns` list if specified.

### IDs across report types

Revolut uses two separate ID systems across report types:

| ID column | System | Report types |
| --------- | ------ | ------------ |
| `payment_id`, `id` | **Acquiring system** - identifies a payment attempt | `payments_report`, `icpp_fee_breakdown_report` |
| `transaction_id` | **Core ledger** - identifies the settlement entry created when a payment is captured | `settlement_report`, `payout_statement_report`, `custom_report` |
| `order_id` | **Both systems** - bridges the acquiring and ledger perspectives | `settlement_report`, `payments_report`, `payout_statement_report`, `custom_report` |

:::tip
A payment and its resulting ledger transaction represent the same event but have **different UUIDs**. To reconcile `payments_report` data against `settlement_report` data, join on `order_id`.
:::

Use the schema selector below to see the available columns for each report type.

## Endpoint

GET `/api/report-runs/{report_run_id}/file`

## Returns

### 200

OK

#### Response attributes


## Error responses

| HTTP status code | Description |
| --- | --- |
| 400 | Bad Request |
| 401 | Unauthorized |
| 404 | Not Found |
