{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/revolut/main/json-schema/revolut-report-run-csv-icpp-schema.json",
  "title": "IC++ fee breakdown report CSV",
  "description": "CSV output for `icpp_fee_breakdown_report` report type. Contains IC++ fee components broken down per transaction for a specific IC++ charge.\n\nThe first row is a header row with column names. Subsequent rows contain one row per transaction.\n\n`card_interchange_fee_amount` and `card_scheme_fee_amount` are omitted for Revolut Pay transactions.\n\n:::note\nThe 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.\n\n`payment_method` in this report returns `REVOLUT_PAY` for Revolut Pay transactions. Other reports use `PAY_WITH_REVOLUT` for the same payment method.\n:::",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/revolut-report-runs-api-openapi.yml#/components/schemas/Report-Run-Csv-Icpp",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier of the payment in the acquiring system. Corresponds to `payment_id` in the payments report for the same payment."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time the payment was created."
    },
    "operation": {
      "type": "string",
      "description": "Type of the IC++ transaction.\n\n| Value | Description |\n| ----- | ----------- |\n| `SALE` | Fee breakdown for a payment sale. |\n| `REFUND` | Fee breakdown for a refund. |\n| `DISPUTE` | Fee breakdown for a dispute-related transaction. |",
      "enum": [
        "SALE",
        "REFUND",
        "DISPUTE"
      ]
    },
    "amount": {
      "type": "number",
      "description": "Transaction amount."
    },
    "currency": {
      "type": "string",
      "description": "The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the transaction."
    },
    "settlement_amount": {
      "type": "number",
      "description": "Amount settled on the merchant's account."
    },
    "settlement_currency": {
      "type": "string",
      "description": "The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code of the settled amount."
    },
    "payment_method": {
      "type": "string",
      "description": "Payment method used. Returns `REVOLUT_PAY` for Revolut Pay, or the card scheme name for card payments."
    },
    "card_scheme": {
      "type": "string",
      "description": "Card BIN scheme."
    },
    "card_funding": {
      "type": "string",
      "description": "Card funding type."
    },
    "order_description": {
      "type": "string",
      "description": "Description of the order."
    },
    "order_merchant_external_ref": {
      "type": "string",
      "description": "Merchant's order reference. The value of the `merchant_order_data.reference` field set when the order was created."
    },
    "original_operation_id": {
      "type": "string",
      "format": "uuid",
      "description": "For refunds and disputes, the acquiring ID of the original payment. Corresponds to `original_payment_id` in the payments report."
    },
    "acquiring_fee_amount": {
      "type": "number",
      "description": "IC++ acquiring markup fee component."
    },
    "card_interchange_fee_amount": {
      "type": "number",
      "description": "Interchange fee component. Omitted for Revolut Pay transactions."
    },
    "card_scheme_fee_amount": {
      "type": "number",
      "description": "Card scheme fee component. Omitted for Revolut Pay transactions."
    },
    "card_type": {
      "type": "string",
      "description": "Card commercial category.\n\n| Value | Description |\n| ----- | ----------- |\n| `COMMERCIAL` | Business or corporate card. |\n| `CONSUMER` | Personal card. |",
      "enum": [
        "COMMERCIAL",
        "CONSUMER"
      ]
    },
    "order_channel": {
      "type": "string",
      "description": "Channel through which the order was created."
    },
    "card_country": {
      "type": "string",
      "description": "Country of the card, as an [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code."
    }
  }
}