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

# Create a new report run

Start generating a new report of the relevant transactions, and receive `report_run_id`.

After generation is done, use the link in `file_url` to download the report. Use the [Retrieve report run details](/docs/api/merchant#retrieve-report-run-details) operation to check the status of the report run.

Use the table below to choose the right report type for your use case:

| Report type | What it covers | Required filter |
| ----------- | -------------- | --------------- |
| `custom_report` | Settled and processing transactions with configurable columns | `from`, `to` |
| `settlement_report` | Predefined settled transaction view | `from`, `to` |
| `payout_statement_report` | All transactions contributing to a specific payout | `filter.payout_id` |
| `icpp_fee_breakdown_report` | IC++ fees per transaction for a specific IC++ charge | `filter.icpp_charge_id` |
| `payments_report` | All payments including failed and declined ones | `from`, `to` |

## Endpoint

POST `/api/report-runs`

## Request body

### Attributes

## Returns

### 201

Report run created, report started generating

#### Response attributes

- `report_run_id` (string)
    Unique ID used for accessing report details. Use this to check report generation status.
- `status` (enum)
    Current status of the report run.
    Possible enum values:

    - `processing`
    - `completed`
    - `failed`
    - `expired`
- `file_url` (string, optional)
    Use this link to download report file. Not available, until `status` is `completed`.

## Error responses

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