Revolut Report runs API

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). :::

Operations 3

POST /api/report-runs Create a report run #
GET /api/report-runs/{report_run_id} Retrieve a report run #
GET /api/report-runs/{report_run_id}/file Download report file #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/revolut-report-runs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

revolut-report-runs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Merchant Report runs API
  version: '2026-04-20'
  description: 'Welcome to the Revolut Merchant API - your solution to managing the core aspects of e-commerce and accepting online payments. Whether you''re a startup, a growing business, or an established enterprise in the e-commerce industry, our API helps you streamline your operations.


    As a Revolut Business customer with a Merchant Account, you can use the

    Merchant API to leverage the following features:


    - [Order management](https://developer.revolut.com/docs/api/merchant#tag-orders)

    - [Customer management](https://developer.revolut.com/docs/api/merchant#tag-customers)

    - [Payment management](https://developer.revolut.com/docs/api/merchant#tag-payments)

    - [Subscription management](https://developer.revolut.com/docs/api/merchant#tag-subscriptions)

    - [Payout management](https://developer.revolut.com/docs/api/merchant#tag-payouts)

    - [Dispute management](https://developer.revolut.com/docs/api/merchant#tag-disputes)

    - [Reporting analytics](https://developer.revolut.com/docs/api/merchant#tag-report-runs)

    - [Webhook management](https://developer.revolut.com/docs/api/merchant#tag-webhooks)

    - [Location management](https://developer.revolut.com/docs/api/merchant#tag-locations)


    ... and more.


    ### API versions


    :::warning

    We highly recommend using versioning in your API calls. If you don''t provide a version header on the operations where it''s required, you will receive an error response.

    :::


    The Merchant API uses request header versioning. Where it is required you need to use the `Revolut-Api-Version` header parameter to specify an API version. Each request, where it is indicated in the API specification, must contain a version header in the following format:


    ```

    ''Revolut-Api-Version: 2026-04-20''

    ```


    :::info

    For more information, see: [API versions](https://developer.revolut.com/docs/guides/merchant/reference/versioning/api-versions)

    :::


    ### Test the Merchant API


    You can test the Merchant API in Postman by forking this collection:


    [![View in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/revolut-api/workspace/revolut-developers/overview)'
  contact: {}
servers:
- description: Production server (uses live data)
  url: https://merchant.revolut.com
- description: Sandbox server (uses test data)
  url: https://sandbox-merchant.revolut.com
security:
- Api-Key: []
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:
  examples:
    Res-Settlement-Report:
      summary: Settlement report
      value: 'transaction_id,order_id,original_order_id,started_date,updated_date,completed_date,payment_created_date,payment_captured_date,type,state,description,merchant_order_ext_ref,customer_id,amount,currency,settlement_amount,settlement_currency,payment_method,fee_amount,fee_currency,processing_fee_amount,processing_fee_currency,browser_url,location_id

        67f66fa6-200c-aaef-8708-cb78366f8a30,67f66f41-3022-a623-827e-e0616c0d04e7,67f66f41-3022-a623-827e-e0616c0d04e7,2025-04-09T13:01:26.288638Z,2025-04-10T13:02:09.843018Z,2025-04-10T13:02:09.837719Z,2025-04-09T13:01:26.186Z,2025-04-10T13:02:09.837719Z,SETTLEMENT,COMPLETED,Summer hat,ORD-2025-0042,,100.00,GBP,99.00,GBP,CARD,1.00,GBP,1.00,GBP,https://sandbox-checkout.revolut.com/payment-link/1ae44a1c-3ea8-47ac-b736-7d7d4c992bb4,

        67f66fb7-300d-bbff-9819-dc89477a9b41,67f67052-4133-b734-938f-f1727d1e15f8,67f66f41-3022-a623-827e-e0616c0d04e7,2025-04-10T09:10:00.000000Z,2025-04-10T09:12:00.000000Z,2025-04-10T09:12:00.000000Z,,,REFUND,COMPLETED,Refund for Summer hat,ORD-2025-0042-R1,,25.00,GBP,-25.00,GBP,CARD,0.00,GBP,0.00,GBP,https://sandbox-checkout.revolut.com/payment-link/1ae44a1c-3ea8-47ac-b736-7d7d4c992bb4,

        67f66fc8-411e-cc10-a92a-ed9a588b0c52,67f67063-5244-c845-a49a-a2838e2f26a9,67f66f41-3022-a623-827e-e0616c0d04e7,2025-04-11T08:30:00.000000Z,2025-04-11T08:45:00.000000Z,2025-04-11T08:45:00.000000Z,,,CHARGEBACK,COMPLETED,Chargeback for Summer hat,ORD-2025-0042-CB1,,75.00,GBP,-75.00,GBP,CARD,0.00,GBP,0.00,GBP,https://sandbox-checkout.revolut.com/payment-link/1ae44a1c-3ea8-47ac-b736-7d7d4c992bb4,

        67f66fd9-522f-dd21-ba3b-feab699a1d63,67f67074-6355-d956-b50a-a3949f3a37a0,67f66f41-3022-a623-827e-e0616c0d04e7,2025-04-15T10:00:00.000000Z,2025-04-15T10:05:00.000000Z,2025-04-15T10:05:00.000000Z,,,CHARGEBACK_REVERSAL,COMPLETED,Chargeback reversal for Summer hat,ORD-2025-0042-CBR1,,75.00,GBP,75.00,GBP,CARD,0.00,GBP,0.00,GBP,https://sandbox-checkout.revolut.com/payment-link/1ae44a1c-3ea8-47ac-b736-7d7d4c992bb4,'
    Res-Custom-Report:
      summary: Custom report (filtered columns)
      value: 'transaction_id,order_id,payment_created_date,payment_captured_date,payment_method,amount,currency,state,updated_date

        649ae37f-99ca-a7db-a4fb-5924af14ad7c,649ae35c-2558-adea-bf98-3a7156a764e7,2023-06-28T13:20:46.07498Z,2023-06-28T13:30:46.07498Z,PAY_WITH_REVOLUT,0.05,GBP,COMPLETED,2023-06-28T13:30:46.07498Z

        649ae3de-e945-af9f-98c8-1d6172e350b5,649ae3ab-3998-ab2b-ad95-41b48346be69,2023-06-28T13:22:46.075569Z,2023-06-28T13:30:46.075569Z,PAY_WITH_REVOLUT,0.05,GBP,COMPLETED,2023-06-28T13:30:46.075569Z

        649ae48b-37f6-a097-9cb0-4fc2a89d9e5a,649ae479-d7e8-a139-993b-bf75865c5059,2023-06-28T13:35:46.084289Z,2023-06-28T13:38:46.084289Z,PAY_WITH_REVOLUT,0.05,GBP,COMPLETED,2023-06-28T13:38:46.084289Z'
    Res-Payments-Report:
      summary: Payments report
      value: 'payment_id,type,description,original_payment_id,order_id,state,reason,amount,currency,surcharge_amount,tip_amount,refunded_amount,created_date,captured_date,merchant_order_ext_ref,payment_method,location_id,customer_id,customer_card_number,customer_card_country,customer_card_brand,customer_card_type,customer_card_category,customer_email,fee_amount,fee_currency

        67f66fa6-7e98-ae73-9570-50583cec116d,PAYMENT,Payment from customer,,67f66f41-3022-a623-827e-e0616c0d04e7,COMPLETED,,1.00,GBP,,0.00,0.00,2025-04-09T13:01:26.186Z,2025-04-10T13:02:09.837Z,ORD-2025-0042,CARD,,cust-0001-0000-0000-000000000001,528143******4148,GB,VISA,DEBIT,consumer,customer@example.com,0.01,GBP

        6807b0a5-a367-afbf-b31f-353730b788b5,PAYMENT,Payment from customer,,6807b09c-c62a-a656-818e-f071ef67ee36,DECLINED,,10.01,GBP,,0.00,0.00,2025-04-22T15:07:17.352Z,,,PAY_WITH_REVOLUT,,,,,,,,customer@example.com,,

        67efa316-db8a-aec6-8eb4-46e47b6ebdc4,PAYMENT,Payment from customer,,67efa305-be19-a456-a6a2-154b218ac386,FAILED,INSUFFICIENT_FUNDS,0.57,USD,,0.00,0.00,2025-04-04T09:15:02.13Z,,,CARD,,,222300******9399,GB,VISA,DEBIT,consumer,customer@example.com,,'
    Res-Payout-Report:
      summary: Payout statement report
      value: 'created_date,completed_date,payout_affected_date,affected_payout_amount,transaction_id,order_id,dispute_id,merchant_order_reference,type,related_icpp_charge_id,transaction_amount,transaction_currency,billing_amount,billing_currency,state,original_transaction_id,original_transaction_amount,original_transaction_currency,original_order_id,original_order_channel,original_merchant_order_reference,fee_amount,fee_currency,settlement_amount,settlement_currency,location_id,location_name,submerchant_id,payout_transfer_reference,payout_total_amount,payout_date

        2025-03-25T14:34:05.708899Z,2025-03-26T14:34:38.06903Z,2025-03-26T14:34:38.06903Z,true,67e2bedd-0e79-a8ea-ac4c-e9fd13693286,67e2be76-89c5-ae4f-9103-a152ae6f0584,,ORD-2025-0042,Settlement,,0.57,USD,0.57,USD,COMPLETED,67e2bedd-0e79-a8ea-ac4c-e9fd13693286,0.57,USD,67e2be76-89c5-ae4f-9103-a152ae6f0584,API,ORD-2025-0042,0.00,USD,0.57,USD,4a0f98a6-0f61-4e85-9ef0-7e5d0cb92ef0,Store London,,Revolut USD payout 2025-03-26 MerchantName,0.17,2025-03-26T15:00:00Z

        2025-03-25T15:38:45.162946Z,2025-03-26T15:39:58.03824Z,2025-03-26T15:39:58.03824Z,true,67e2ce05-1a16-abeb-b05b-5059073bcdaa,67e2ce00-6665-a52b-9f10-368f886054d7,a81bba54-e3f9-450f-aa50-7aea8e4e5b9a,ORD-2025-0042-CB1,Customer dispute - withdrawal,,-0.40,USD,-0.40,USD,COMPLETED,67e2bedd-0e79-a8ea-ac4c-e9fd13693286,0.57,USD,67e2be76-89c5-ae4f-9103-a152ae6f0584,API,ORD-2025-0042,0.00,USD,-0.40,USD,4a0f98a6-0f61-4e85-9ef0-7e5d0cb92ef0,Store London,,Revolut USD payout 2025-03-26 MerchantName,0.17,2025-03-26T15:00:00Z'
  schemas:
    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
    Report-Run-Payments-Report:
      title: Payments report
      type: object
      description: A payments report contains all the query information for generating reports of payments associated with a Merchant account, including failed and declined payments.
      properties:
        filter:
          $ref: '#/components/schemas/Report-Run-Payments-Filter'
        format:
          $ref: '#/components/schemas/Report-Run-Format'
        type:
          $ref: '#/components/schemas/Report-Run-Type'
        options:
          $ref: '#/components/schemas/Report-Run-Payments-Options'
      required:
      - filter
      - format
      - type
    Report-Run-Entity-Types:
      type: array
      items:
        type: string
        enum:
        - payment
        - refund
        - dispute
      description: 'Select source entity families to be included in the report.


        | Value | Description |

        | ----- | ----------- |

        | `payment` | Include rows originating from payment settlement activity. |

        | `refund` | Include rows originating from refund activity. |

        | `dispute` | Include rows originating from dispute and chargeback activity. |


        :::note

        These values are filter input categories. They do not map 1:1 to the CSV `type` output column. For example, a settlement report filtered with `payment`, `refund`, and `dispute` can still return CSV `type` values such as `SETTLEMENT`, `REFUND`, `CHARGEBACK`, and `CHARGEBACK_REV

# --- truncated at 32 KB (103 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/openapi/revolut-report-runs-api-openapi.yml