openapi: 3.0.1
info:
version: '1.0'
title: Business Accounting Report runs API
description: "As a Revolut Business customer with a Business Account, you can use the Business API to automate your own business processes.\nSave time, reduce your costs, and avoid errors by using the Business API. \n\n:::tip[Before you get started]\nTo learn more about the Business API and its features, check the [**user guides**](https://developer.revolut.com/docs/guides/manage-accounts/introduction).\n\nYou can reach them at any time from the main navigation bar **→ Guides → Business**.\n:::\n\nYou can view accounts, manage counterparties, make payments or currency exchanges without manual effort in the Web UI:\n\n- Accounting: [Account management](https://developer.revolut.com/docs/api/business#get-account), [Accounting settings](https://developer.revolut.com/docs/api/business#tag-accounting), [Expense management](https://developer.revolut.com/docs/api/business#get-expense), [Transactions](https://developer.revolut.com/docs/api/business#get-transactions) \n- Payments: \n - [Counterparty management](https://developer.revolut.com/docs/api/business#get-counterparties)\n - Payment management: [Payment drafts](https://developer.revolut.com/docs/api/business#delete-payment-draft), [Payout links](https://developer.revolut.com/docs/api/business#get-payout-link), [Transfers](https://developer.revolut.com/docs/api/business#tag-transfers)\n - [Foreign exchange](https://developer.revolut.com/docs/api/business#tag-foreign-exchange)\n- Business team: [Card management](https://developer.revolut.com/docs/api/business#delete-card), [Card invitation management](https://developer.revolut.com/docs/api/business#update-card-invitation), [Team member management](https://developer.revolut.com/docs/api/business#delete-team-member)\n- Developer tools: [Sandbox simulations](https://developer.revolut.com/docs/api/business#tag-simulations), [Webhook management](https://developer.revolut.com/docs/api/business#tag-webhooks-v2)\n\nTo see the reference for the specific endpoints and operations of this API, browse the menu on the left.\n\n### Test the Business API\n\nYou can test the Business API in Postman by forking this collection:\n\n[](https://www.postman.com/revolut-api/workspace/revolut-developers/overview)"
contact: {}
servers:
- url: https://b2b.revolut.com/api/1.0
description: Production server (uses live data)
- url: https://sandbox-b2b.revolut.com/api/1.0
description: Sandbox server (uses test data)
tags:
- name: Report runs
description: 'Use **Report runs** operations to generate CSV reports of your Merchant account transactions. Choose from the following report types based on your use case:
| Report type | Description |
| ----------- | ----------- |
| `custom_report` | Settled and processing transactions with a configurable set of columns. |
| `settlement_report` | All settled transactions, with a configurable set of columns. |
| `payments_report` | All payments, including failed and declined ones. |
| `payout_statement_report` | All transactions that contributed to a specific payout. |
| `icpp_fee_breakdown_report` | IC++ fee components broken down per transaction for a specific IC++ charge. |
:::info
For more information about how to generate CSV reports, see: [Create CSV reports of transactions](https://developer.revolut.com/docs/guides/merchant/monitor-and-observe/reports-reconciliation).
:::'
paths:
/api/report-runs:
parameters:
- $ref: '#/components/parameters/Authorization'
post:
summary: Create a report run
operationId: createReportRun
description: "Start generating a report of all transactions that match the filter and options specified in the request body.\n\nUse the returned `report_run_id` and the [Retrieve report run details](https://developer.revolut.com/docs/api/merchant#retrieve-report-run) operation to check the status of the generation.\n\nAfter generation is done, use the [Download report file](https://developer.revolut.com/docs/api/merchant#download-report-file) operation to retrieve the CSV. The `file_url` in the completed report run object is the request URL for that endpoint and requires the same authorisation as any other Merchant API request. \n\n### Report types\n\nThe table below helps to choose the right report type for your use case:\n\n| Report type | What it covers |\n| ----------- | -------------- |\n| `custom_report` | Settled and processing transactions with configurable columns |\n| `settlement_report` | All settled transactions, with a configurable set of columns |\n| `payments_report` | All payments including failed and declined ones |\n| `payout_statement_report` | All transactions contributing to a specific payout |\n| `icpp_fee_breakdown_report` | IC++ fees per transaction for a specific IC++ charge |\n\n### IDs across report types\n\nEach report type uses a different primary ID, depending on which system the data comes from:\n\n| ID column | System | Report types |\n| --------- | ------ | ------------ |\n| `payment_id`, `id` | **Acquiring system** - identifies a payment attempt | `payments_report`, `icpp_fee_breakdown_report` |\n| `transaction_id` | **Core ledger** - identifies the settlement entry created when a payment is captured | `settlement_report`, `payout_statement_report`, `custom_report` |\n| `order_id` | **Both systems** - bridges the acquiring and ledger perspectives | `settlement_report`, `payments_report`, `payout_statement_report`, `custom_report` |"
requestBody:
content:
application/json:
schema:
discriminator:
propertyName: type
mapping:
settlement_report: '#/components/schemas/Report-Run-Settlement-Report'
custom_report: '#/components/schemas/Report-Run-Custom-Report'
payments_report: '#/components/schemas/Report-Run-Payments-Report'
payout_statement_report: '#/components/schemas/Report-Run-Payout-Report'
icpp_fee_breakdown_report: '#/components/schemas/Report-Run-Icpp-Report'
oneOf:
- $ref: '#/components/schemas/Report-Run-Settlement-Report'
- $ref: '#/components/schemas/Report-Run-Custom-Report'
- $ref: '#/components/schemas/Report-Run-Payments-Report'
- $ref: '#/components/schemas/Report-Run-Payout-Report'
- $ref: '#/components/schemas/Report-Run-Icpp-Report'
examples:
custom_report:
summary: Custom report
value:
filter:
from: '2020-01-01T00:00:00Z'
to: '2020-01-02T00:00:00Z'
entity_types:
- payment
entity_states:
- completed
- processing
format: csv
type: custom_report
options:
timezone: Europe/London
columns:
- transaction_id
- amount
- currency
- metadata.custom_attribute
settlement_report:
summary: Settlement report
value:
filter:
from: '2020-01-01T00:00:00Z'
to: '2020-01-02T00:00:00Z'
entity_types:
- payment
format: csv
type: settlement_report
payments_report:
summary: Payments report
value:
filter:
from: '2020-01-01T00:00:00Z'
to: '2020-01-02T00:00:00Z'
entity_states:
- completed
- failed
- declined
format: csv
type: payments_report
payout_statement_report:
summary: Payout statement report
value:
filter:
payout_id: a830020e-090c-4717-836d-37941a27ad12
format: csv
type: payout_statement_report
icpp_fee_breakdown_report:
summary: IC++ fee breakdown report
value:
filter:
icpp_charge_id: 41d6c699-744a-4994-91c0-9227539c587f
format: csv
type: icpp_fee_breakdown_report
responses:
'201':
description: Report run created, report started generating
content:
application/json:
schema:
$ref: '#/components/schemas/Report-Run'
examples:
report_run_processing:
summary: Report run processing
value:
report_run_id: d6f6ef64-f668-4e64-8967-1cdf8afb2561
status: processing
report_run_completed:
summary: Report run completed, report file ready
value:
report_run_id: d6f6ef64-f668-4e64-8967-1cdf8afb2561
status: completed
file_url: https://merchant.revolut.com/api/report-runs/d6f6ef64-f668-4e64-8967-1cdf8afb2561/file
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Report runs
/api/report-runs/{report_run_id}:
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/Report-Run-Id'
get:
summary: Retrieve a report run
operationId: retrieveReportRun
description: "Retrieve details of a report run, based on the `report_run_id`. \n\nUse this method to check the status of a report run.\n\nIf a report run's `status` is `completed`, the report file can be downloaded using the `file_url` for 24 hours after report generation finishes.\n\nOnce that 24-hour window elapses, the report run remains retrievable but transitions to `expired`, and the file can no longer be downloaded."
responses:
'200':
description: Report run found
content:
application/json:
schema:
$ref: '#/components/schemas/Report-Run'
examples:
report_run_processing:
summary: Report run processing
value:
report_run_id: d6f6ef64-f668-4e64-8967-1cdf8afb2561
status: processing
report_run_completed:
summary: Report run completed
value:
report_run_id: d6f6ef64-f668-4e64-8967-1cdf8afb2561
status: completed
file_url: https://merchant.revolut.com/api/report-runs/d6f6ef64-f668-4e64-8967-1cdf8afb2561/file
report_run_expired:
summary: Report run expired
value:
report_run_id: d6f6ef64-f668-4e64-8967-1cdf8afb2561
status: expired
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Report runs
/api/report-runs/{report_run_id}/file:
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/Report-Run-Id'
get:
summary: Download report file
operationId: downloadReportFile
description: '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.'
responses:
'200':
description: OK
content:
text/csv:
schema:
oneOf:
- $ref: '#/components/schemas/Report-Run-Csv-Settlement'
- $ref: '#/components/schemas/Report-Run-Csv-Custom'
- $ref: '#/components/schemas/Report-Run-Csv-Payments'
- $ref: '#/components/schemas/Report-Run-Csv-Payout'
- $ref: '#/components/schemas/Report-Run-Csv-Icpp'
examples:
settlement_report:
$ref: '#/components/examples/Res-Settlement-Report'
custom_report:
$ref: '#/components/examples/Res-Custom-Report'
payments_report:
$ref: '#/components/examples/Res-Payments-Report'
payout_statement_report:
$ref: '#/components/examples/Res-Payout-Report'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Report runs
components:
schemas:
Report-Run-Currency:
type: string
description: 'Select transactions with specific currencies to include in the report. Provide [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper case.
:::info
For more information about the supported currencies, see: [Help Center](https://help.revolut.com/business/help/merchant-accounts/payments/in-which-currencies-can-i-accept-payments/).
:::'
example: GBP
minLength: 3
maxLength: 3
Report-Run:
title: ReportRunDetails
type: object
description: The `ReportRunDetails` object contains all information associated with a specific report run, identified by the `report_run_id`.
properties:
report_run_id:
type: string
format: uuid
description: Unique ID used for accessing report details. Use this to check report generation status.
status:
type: string
description: 'Current status of the report run.
| Value | Description |
| ----- | ----------- |
| `processing` | Report generation is still in progress. |
| `completed` | Report generation finished successfully and the file is available to download for 24 hours via `file_url`. |
| `failed` | Report generation failed and no report file is available. |
| `expired` | Report generation previously completed, but the 24-hour file availability window has elapsed and the file can no longer be downloaded. |'
enum:
- processing
- completed
- failed
- expired
file_url:
type: string
description: Use this link to download the report file. Available only when `status` is `completed`, and only for 24 hours after report generation finishes.
required:
- report_run_id
- status
Report-Run-Custom-Options:
type: object
description: Further options to customise the report.
properties:
timezone:
$ref: '#/components/schemas/Report-Run-Timezone'
columns:
type: array
description: "Names of the columns to include in the report.\n\nIf not specified, all available columns are included. An empty array returns an error.\n\nTo include custom order metadata, use `metadata.*` with the attribute name, for example `metadata.my_attribute`.\n\nAvailable columns:\n\n | Column name | Description |\n | ----------- | ----------- |\n | `transaction_id` | Unique identifier of the ledger transaction. Matches `transaction_id` in the settlement and payout reports. Use `order_id` to cross-reference with the payments report. |\n | `related_transaction_id` | For refund and chargeback transactions, the ledger transaction ID of the original payment. Corresponds to `original_transaction_id` in the payout report. |\n | `transaction_description` | Description of the transaction. |\n | `payout_id` | Unique identifier of the payout that this transaction contributed to. |\n | `dispute_id` | Unique identifier of the dispute associated with this transaction, if applicable. |\n | `account_id` | Unique identifier of the merchant account. |\n | `account_balance` | Account balance at the time of the transaction. |\n | `order_id` | Unique identifier of the order. Use to cross-reference with the payments or payout reports. |\n | `original_order_id` | For refunds and chargebacks, the order ID of the original payment. For settlement transactions, matches `order_id`. |\n | `original_order_ext_ref` | Merchant's order identifier of the original order for external reference. |\n | `order_description` | Description of the order. |\n | `order_channel` | Channel through which the order was created. |\n | `order_customer_note` | Note added by the customer at the time of the order. |\n | `order_tip_amount` | Tip amount set at the order level. |\n | `order_created_by` | Identifier of the user who created the order. |\n | `payment_initiated_by` | Identifier of who initiated the payment. |\n | `order_line_items` | Line items included in the order, if any. |\n | `payout_reference` | Reference of the payout transfer associated with the transaction. |\n | `invoice_reference` | Invoice reference associated with the order, if any. |\n | `started_date` | Start timestamp shown on the row. For payment rows, this is the payment start timestamp. For non-payment rows such as refunds and chargebacks, this is the transaction start timestamp. Separate from the report filter timeframe. |\n | `created_date` | Date and time the order was created. |\n | `updated_date` | Last update timestamp shown on the row. For payment rows, this is the payment update timestamp. For non-payment rows such as refunds and chargebacks, this is the transaction update timestamp. Separate from the report filter timeframe. |\n | `completed_date` | Completion timestamp shown on the row. For payment rows, this is the payment completion timestamp. For non-payment rows such as refunds and chargebacks, this is the transaction completion timestamp. Separate from the report filter timeframe. |\n | `payment_created_date` | Payment authorisation or creation timestamp for rows linked to a payment. Empty for refunds and non-payment-related rows where no payment timestamp applies. This is returned data, not the report filter key. |\n | `payment_captured_date` | Payment capture timestamp for rows linked to a captured payment. Empty for refunds, non-payment-related rows, or payments not captured. This is returned data, not the report filter key. |\n | `type` | Category of the reported transaction row, indicating what kind of balance-affecting event the row represents. For the full list of returned values, see [Download report file](https://developer.revolut.com/docs/api/merchant#download-report-file). |\n | `legacy_type` | Legacy type value for backwards compatibility. |\n | `state` | State of the transaction. |\n | `description` | Description of the transaction. |\n | `merchant_order_ext_ref` | Merchant's order reference. The value of the `merchant_order_data.reference` field set when the order was created. |\n | `customer_id` | Unique identifier of the customer. |\n | `amount` | Total amount of the order. |\n | `currency` | The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the order. |\n | `settlement_amount` | Total amount settled on the merchant's account. |\n | `settlement_currency` | The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the settled amount. |\n | `exchange_rate` | Exchange rate applied if currency conversion occurred. |\n | `refunded_amount` | Amount refunded for the order. |\n | `statement_descriptor` | Statement descriptor shown on the customer's bank statement. |\n | `tip_amount` | Tip amount included in the transaction. |\n | `terminal_hardware_id` | Identifier of the card reader hardware used, for in-person payments. |\n | `customer_name` | Name of the customer. |\n | `customer_email` | Email address of the customer. |\n | `customer_card_number` | Masked card number used for the payment. |\n | `customer_card_brand` | Card brand used for the payment. Derived from BIN data. Example values: `VISA`, `MASTERCARD`, `MASTERCARD_DEBIT`, `MAESTRO`, `AMEX`, `DINERS`, `DISCOVER`, `JCB`. |\n | `customer_card_type` | Card funding type of the card used for the payment, for example debit, credit, prepaid, deferred debit, or charge. For the full list of returned values, see [Download report file](https://developer.revolut.com/docs/api/merchant#download-report-file). |\n | `customer_card_category` | Card commercial category. Values: `consumer` (personal card) and `commercial` (business or corporate card). |\n | `payment_method` | Payment method the customer used to pay for the order. |\n | `fee_amount` | Total fee amount applied to the order, aggregated across all fee components (acquiring markup + interchange + scheme fees). |\n | `fee_currency` | The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the total fee. |\n | `processing_fee_amount` | Acquiring markup fee only — a subset of `fee_amount`. Represents Revolut's service fee, excluding interchange and scheme fees. |\n | `processing_fee_currency` | The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the acquiring markup fee. |\n | `fx_fee_amount` | Foreign exchange fee amount, if applicable. |\n | `fx_fee_currency` | The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the FX fee. |\n | `browser_url` | The URL where the customer initiated the payment. |\n | `beneficiary_name` | Name of the beneficiary, for bank transfer payments. |\n | `beneficiary_account_number` | Account number of the beneficiary, for bank transfer payments. |\n | `location_id` | Unique identifier of the location related to the transaction. |\n | `location_name` | Name of the location related to the transaction. |\n | `surcharge_amount` | Surcharge amount applied to the transaction. Omitted when no surcharge applies. |\n | `order_surcharge_amount` | Surcharge amount set at the order level. |\n | `order_custom_field_name` | Name of a custom field set on the order. |\n | `order_custom_field_value` | Value of a custom field set on the order. |\n | `offline_payment_state` | State of an offline payment, if applicable. |\n | `order_authorisation_type` | Authorisation type of the order, for example `FULL` or `PRE_AUTH`. |\n | `metadata.*` | Custom order metadata. Replace `*` with the attribute name, for example `metadata.my_attribute`. |"
items:
type: string
enum:
- transaction_id
- related_transaction_id
- transaction_description
- payout_id
- dispute_id
- account_id
- account_balance
- order_id
- original_order_id
- original_order_ext_ref
- order_description
- order_channel
- order_customer_note
- order_tip_amount
- order_created_by
- payment_initiated_by
- order_line_items
- payout_reference
- invoice_reference
- started_date
- created_date
- updated_date
- completed_date
- payment_created_date
- payment_captured_date
- type
- legacy_type
- state
- description
- merchant_order_ext_ref
- customer_id
- amount
- currency
- settlement_amount
- settlement_currency
- exchange_rate
- refunded_amount
- statement_descriptor
- tip_amount
- terminal_hardware_id
- customer_name
- customer_email
- customer_card_number
- customer_card_brand
- customer_card_type
- customer_card_category
- payment_method
- fee_amount
- fee_currency
- processing_fee_amount
- processing_fee_currency
- fx_fee_amount
- fx_fee_currency
- browser_url
- beneficiary_name
- beneficiary_account_number
- location_id
- location_name
- surcharge_amount
- order_surcharge_amount
- order_custom_field_name
- order_custom_field_value
- offline_payment_state
- order_authorisation_type
- metadata.*
example:
- transaction_id
- amount
- currency
- metadata.my_attribute
Icpp-Charge-Id:
type: string
format: uuid
description: 'Permanent ID of of the IC++ fee related to a payout transaction.
This ID can be obtained from the `related_icpp_charge_id` column of a payout statement report.'
Report-Run-From:
type: string
format: date-time
description: 'This parameter specifies the start boundary for filtering report data. It accepts ETC/UTC date and time in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601) and includes all matching records on or after this timestamp.
Combined with the `to` parameter, this determines the report''s timeframe, including all matching records between the two values.
For example, by setting the `from` parameter to `2021-01-01T00:00:00Z`, the report will include matching records from the first second of January 1, 2021, UTC, and onwards.'
Report-Run-Csv-Payments:
title: Payments report CSV
type: object
description: 'CSV output for `payments_report` report type. Contains all payments including failed and declined ones.
The first row is a header row with column names. Subsequent rows contain payment data, one row per payment.
For failed and declined payments, `fee_amount` and `fee_currency` are omitted. For payments made without a card, card-related columns are omitted.
:::note
The actual response is a raw `text/csv` string. The object schema below is a documentation convention only: OpenAPI''s schema language (JSON Schema) describes JSON data shapes and has no native construct for typed CSV columns, so each property here corresponds to a CSV column header rather than a JSON field.
:::'
properties:
payment_id:
type: string
format: uuid
description: Unique identifier of the payment attempt in the acquiring system. Corresponds to `id` in the IC++ fee breakdown report for the same payment. Not the same as `transaction_id` in the settlement or payout reports — a payment and its resulting ledger transaction have different UUIDs. Use `order_id` to cross-reference with the settlement or payout reports.
type:
type: string
description: 'Type of the payment.
| Value | Description |
| ----- | ----------- |
| `PAYMENT` | A payment attempt made against the order. |
| `REFUND` | A refund record reversing a previously completed payment. |'
enum:
- PAYMENT
- REFUND
description:
type: string
description: Description of the payment.
original_payment_id:
type: string
format: uuid
description: For refunds, the acquiring ID of the original payment that this record reverses. Corresponds to `payment_id` on the original payment row. Populated only when `type` is `REFUND`.
order_id:
type: string
format: uuid
description: Unique identifier of the order associated with this payment. An order can have multiple payment attempts — for example, a retry after a declined payment. Use `order_id` to cross-reference with the settlement or payout reports.
state:
type: string
description: 'State of the payment.
| Value | Description |
| ----- | ----------- |
| `COMPLETED` | The payment completed successfully. |
| `FAILED` | The payment failed during processing. |
| `DECLINED` | The payment was rejected by the issuer or payment flow. |
| `CANCELLED` | The payment was cancelled before completion. |
| `PROCESSING` | The payment is still being processed. |'
enum:
- COMPLETED
- FAILED
- DECLINED
- CANCELLED
- PROCESSING
reason:
type: string
description: 'Reason code for a failed or declined payment. Present only when `state` is `FAILED` or `DECLINED`.
Example values: `INSUFFICIENT_FUNDS`, `DO_NOT_HONOUR`, `EXPIRED_CARD`, `INVALID_CVV`, `THREE_DS_CHALLENGE_FAILED`, `SUSPECTED_FRAUD`, `LOST_CARD`, `STOLEN_CARD`, `TECHNICAL_ERROR`.'
amount:
type: number
description: Total amount of the payment.
currency:
type: string
description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the payment.
example: GBP
surcharge_amount:
type: number
description: Surcharge amount applied to the payment. Empty when no surcharge applies — this field is empty, not set to `0`.
tip_amount:
type: number
description: Tip amount included in the payment, if any.
refunded_amount:
type: number
description: Amount refunded for the payment.
created_date:
type: string
format: date-time
description: Date and time the payment was created.
captured_date:
type: string
format: date-time
description: Date and time the payment was captured, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) UTC date-time format. Empty when the payment has not been c
# --- truncated at 32 KB (105 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/openapi/revolut-report-runs-api-openapi.yml