---
updatedAt: 2026-04-21T08:57:19.000Z
agentTools:
  projectIndex: https://docs.mesh.complyadvantage.com/llms.txt
---

# Create and process a transaction

Creates a transaction and executes our payment screening and transaction monitoring processes. The response will indicate whether the transaction should be held or processed. Updates a transaction if a transaction with the same external_identifier, occurred_at, customer_external_identifier and details.type already exists but other data has changed. Supports updating existing transactions on the Synchronous Transaction Monitoring flow only; not supported for fast payment screening or async flows. This endpoint requires PAYMENT_SCREENING_BASE and/or TRANSACTION_MONITORING_BASE account permission depending on the configuration identifies supplied with the payload. When a customer is supplied in `customers`, its `external_identifier` is required. This endpoint does not generate one, unlike the customer creation endpoints, so a customer without it is rejected with a 400.

# OpenAPI definition

```json
{
  "components": {
    "schemas": {
      "ol_AccountBalanceV3": {
        "description": "Represents the balance of a financial account.",
        "properties": {
          "current_balance": {
            "$ref": "#/components/schemas/ol_MonetaryValueV3"
          },
          "current_base_balance": {
            "$ref": "#/components/schemas/ol_MonetaryValueV3"
          }
        },
        "required": [
          "current_balance"
        ],
        "type": "object"
      },
      "ol_AcquirerV3": {
        "description": "Represents the payment acquirer information.",
        "properties": {
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              }
            ]
          },
          "identifier": {
            "description": "Unique acquirer identifier.",
            "example": "acq_visa_usa",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_Address": {
        "properties": {
          "address_line1": {
            "maxLength": 150,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "address_line2": {
            "maxLength": 150,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "enum": [
              "AF",
              "AX",
              "AL",
              "AN",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "SZ",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "MK",
              "RO",
              "RU",
              "RW",
              "RE",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "US",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "XK",
              "XT",
              "XX",
              "YE",
              "ZM",
              "ZW"
            ],
            "format": "iso-3166-alpha-2",
            "nullable": true,
            "type": "string"
          },
          "country_subdivision": {
            "maxLength": 100,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "postal_code": {
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "town_name": {
            "maxLength": 100,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "type": {
            "enum": [
              "RESIDENTIAL_ADDRESS",
              "MAILING_ADDRESS",
              "OPERATING_ADDRESS",
              "REGISTRATION_ADDRESS",
              "BILLING_ADDRESS",
              "PO_BOX",
              "DELIVERY",
              "BUSINESS",
              "LEGAL_ENTITY"
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_AddressFormatV3": {
        "description": "Represents the format of the address used for a party.",
        "enum": [
          "STRUCTURED",
          "UNSTRUCTURED"
        ],
        "example": "STRUCTURED",
        "type": "string"
      },
      "ol_AddressTypeV3": {
        "description": "Represents the type of address.",
        "enum": [
          "RESIDENTIAL",
          "MAILING",
          "OPERATING",
          "REGISTRATION",
          "BILLING",
          "PO_BOX",
          "DELIVERY",
          "BUSINESS",
          "LEGAL_ENTITY"
        ],
        "example": "MAILING",
        "type": "string"
      },
      "ol_AddressV3": {
        "description": "Address of the ATM.",
        "discriminator": {
          "propertyName": "format"
        },
        "properties": {
          "format": {
            "$ref": "#/components/schemas/ol_AddressFormatV3"
          }
        },
        "required": [
          "format"
        ],
        "type": "object"
      },
      "ol_AgentRoleV3": {
        "description": "The roles an agent may take within a financial transaction.",
        "enum": [
          "COUNTERPARTY_BANK",
          "INTERMEDIARY",
          "DEBTOR_AGENT",
          "CREDITOR_AGENT"
        ],
        "example": "COUNTERPARTY_BANK",
        "type": "string"
      },
      "ol_AgentV3": {
        "description": "Represents an agent in a financial transaction.",
        "properties": {
          "bank": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_BankV3"
              }
            ]
          },
          "index": {
            "description": "The position of the agent in the list. Used to track the agent's order in the original sequence.",
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "money_transfer_operator": {
            "$ref": "#/components/schemas/ol_MoneyTransferOperatorV3"
          },
          "online_remittance_platform": {
            "$ref": "#/components/schemas/ol_OnlineRemittancePlatformV3"
          },
          "reference_text": {
            "description": "The reference text supplied by an agent.",
            "example": "Interbank Ref 9372",
            "maxLength": 512,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/ol_AgentRoleV3"
          },
          "virtual_asset_service_provider": {
            "$ref": "#/components/schemas/ol_VirtualAssetServiceProviderV3"
          }
        },
        "required": [
          "role"
        ],
        "type": "object"
      },
      "ol_AtmChannelV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_ChannelV3"
          },
          {
            "properties": {
              "address": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ol_StructuredAddressV3"
                  },
                  {
                    "$ref": "#/components/schemas/ol_UnstructuredAddressV3"
                  }
                ]
              },
              "geographic_location": {
                "$ref": "#/components/schemas/ol_GeographicCoordinatesV3"
              },
              "identifier": {
                "description": "Client-specific identifier for ATM.",
                "nullable": true,
                "type": "string"
              },
              "provider": {
                "description": "ATM provider name.",
                "nullable": true,
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Represents an ATM channel used for transaction processing.",
        "required": [
          "network_details",
          "type"
        ],
        "title": "ATM",
        "type": "object"
      },
      "ol_AuthorizationInfoV3": {
        "description": "Authorization information.",
        "properties": {
          "identifier": {
            "description": "Unique authorization identifier.",
            "example": "auth_123456789",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_AuthorizationResponseV3"
              }
            ]
          },
          "state": {
            "description": "Represents the state of an authorization request.",
            "enum": [
              "APPROVED",
              "DECLINED",
              "PENDING",
              "EXPIRED",
              "CANCELLED"
            ],
            "example": "APPROVED",
            "nullable": true,
            "type": "string"
          },
          "timestamp": {
            "description": "Authorization timestamp.",
            "example": "2024-01-15T10:30:00.000Z",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Type of authorization for a card payment.",
            "enum": [
              "PREAUTHORIZATION",
              "AUTHORIZATION"
            ],
            "example": "AUTHORIZATION",
            "nullable": true,
            "type": "string"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_MonetaryValueV3"
              }
            ]
          }
        },
        "type": "object"
      },
      "ol_AuthorizationResponseV3": {
        "description": "Authorization response information.",
        "properties": {
          "code": {
            "description": "Authorization response code.",
            "example": "00",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "reason_code": {
            "description": "Authorization reason code.",
            "example": "APPROVED",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_BankAccountV3": {
        "description": "Represent bank account details",
        "properties": {
          "bank": {
            "$ref": "#/components/schemas/ol_BankV3"
          },
          "iban": {
            "description": "Bank account iban number",
            "nullable": true,
            "pattern": "^[a-zA-Z]{2}\\d{2}.*",
            "type": "string"
          },
          "local": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_LocalAccountDetailsV3"
              }
            ]
          }
        },
        "required": [
          "bank"
        ],
        "type": "object"
      },
      "ol_BankPaymentMonetaryTransactionTypeDetailsV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_MonetaryTransactionTypeDetailsV3"
          },
          {
            "properties": {
              "agents": {
                "description": "Any intermediaries involved in the transaction between the creditor and the debtor.",
                "items": {
                  "$ref": "#/components/schemas/ol_AgentV3"
                },
                "maxItems": 10,
                "minItems": 0,
                "type": "array"
              },
              "creditor": {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              },
              "debtor": {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              },
              "payment_scheme": {
                "$ref": "#/components/schemas/ol_PaymentSchemeV3"
              },
              "state": {
                "$ref": "#/components/schemas/ol_BankPaymentStateV3"
              },
              "ultimate_creditor": {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              },
              "ultimate_debtor": {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              }
            },
            "type": "object"
          }
        ],
        "description": "Models a transfer of funds from one bank account to another in a different financial institution.",
        "required": [
          "creditor",
          "debtor",
          "payment_scheme",
          "state",
          "type"
        ],
        "title": "Bank Payment Details",
        "type": "object"
      },
      "ol_BankPaymentStateV3": {
        "description": "The possible states of a bank payment transaction.",
        "enum": [
          "PENDING",
          "BOOKED",
          "RETURNED",
          "REJECTED",
          "RECALLED",
          "CANCELLED",
          "SETTLED",
          "INFLIGHT",
          "HELD",
          "INVESTIGATING",
          "CLEARED"
        ],
        "example": "BOOKED",
        "type": "string"
      },
      "ol_BankV3": {
        "description": "Represents a bank's details.",
        "properties": {
          "bic": {
            "description": "The Business Identifier Code (BIC) of the bank. Also known as SWIFT code.",
            "example": "ABCDGB01A1B",
            "nullable": true,
            "pattern": "^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$",
            "type": "string"
          },
          "legal_entity_address": {
            "$ref": "#/components/schemas/ol_StructuredAddressV3"
          },
          "name": {
            "description": "The name of the bank.",
            "example": "Deutsche Bank",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_BlockchainNetworkTypeV3": {
        "description": "Type of the blockchain network used in the transaction.",
        "enum": [
          "MAIN",
          "TEST"
        ],
        "type": "string"
      },
      "ol_BlockchainV3": {
        "description": "Represents a blockchain network used for cryptocurrency transactions.",
        "properties": {
          "identifier": {
            "$ref": "#/components/schemas/ol_Caip2IdentifierV3"
          },
          "network_name": {
            "description": "Human friendly chain name.",
            "nullable": true,
            "type": "string"
          },
          "network_type": {
            "$ref": "#/components/schemas/ol_BlockchainNetworkTypeV3"
          }
        },
        "required": [
          "identifier",
          "network_type"
        ],
        "type": "object"
      },
      "ol_BooleanEnrichmentValueV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_EnrichmentValueV3"
          },
          {
            "properties": {
              "boolean": {
                "default": false,
                "description": "The boolean value",
                "example": true,
                "type": "boolean"
              }
            },
            "type": "object"
          }
        ],
        "description": "Boolean representation of the enrichment value.",
        "required": [
          "boolean",
          "data_type"
        ],
        "title": "Boolean Value",
        "type": "object"
      },
      "ol_Caip19IdentifierV3": {
        "description": "The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)",
        "properties": {
          "namespace": {
            "description": "The namespace covers a class of similar assets.",
            "example": "slip44",
            "pattern": "[-a-z0-9]{3,8}",
            "type": "string"
          },
          "reference": {
            "description": "The way to identify a blockchain within a given namespace.",
            "example": "966",
            "pattern": "[-.%a-zA-Z0-9]{1,128}",
            "type": "string"
          }
        },
        "required": [
          "namespace",
          "reference"
        ],
        "type": "object"
      },
      "ol_Caip2IdentifierV3": {
        "description": "The industry standard CAIP-2 Identifier for the blockchain (https://chainagnostic.org/CAIPs/caip-2)",
        "properties": {
          "namespace": {
            "description": "Describes an ecosystem or standard, such as e.g. cosmos or eip155. One namespace should refer to one resolution method to resolve the chain’s reference.",
            "example": "eip155",
            "pattern": "[-a-z0-9]{3,8}",
            "type": "string"
          },
          "reference": {
            "description": "The way to identify a blockchain within a given namespace.",
            "example": "1",
            "pattern": "[-_a-zA-Z0-9]{1,32}",
            "type": "string"
          }
        },
        "required": [
          "namespace",
          "reference"
        ],
        "type": "object"
      },
      "ol_CardFundingTypeV3": {
        "description": "Defines the funding type of a payment card.",
        "enum": [
          "CREDIT",
          "DEBIT",
          "PREPAID",
          "OTHER"
        ],
        "example": "CREDIT",
        "type": "string"
      },
      "ol_CardHolderV3": {
        "description": "Represents a card holder with party identification details and onboarding information.",
        "properties": {
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              }
            ]
          }
        },
        "type": "object"
      },
      "ol_CardPaymentMonetaryTransactionTypeDetailsV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_MonetaryTransactionTypeDetailsV3"
          },
          {
            "properties": {
              "acquirer": {
                "$ref": "#/components/schemas/ol_AcquirerV3"
              },
              "card": {
                "$ref": "#/components/schemas/ol_PaymentCardV3"
              },
              "card_holder": {
                "$ref": "#/components/schemas/ol_CardHolderV3"
              },
              "card_payment_scope": {
                "$ref": "#/components/schemas/ol_CardPaymentScopeV3"
              },
              "card_payment_type": {
                "$ref": "#/components/schemas/ol_CardPaymentTypeV3"
              },
              "card_scheme": {
                "$ref": "#/components/schemas/ol_CardSchemeV3"
              },
              "card_verification_results": {
                "$ref": "#/components/schemas/ol_CardVerificationResultsV3"
              },
              "issuer": {
                "$ref": "#/components/schemas/ol_IssuerV3"
              },
              "merchant": {
                "$ref": "#/components/schemas/ol_MerchantV3"
              },
              "payment_stage": {
                "$ref": "#/components/schemas/ol_CardPaymentStageV3"
              },
              "payment_stages_info": {
                "$ref": "#/components/schemas/ol_PaymentStagesInfoV3"
              },
              "point_of_sale": {
                "$ref": "#/components/schemas/ol_PointOfSaleConditionV3"
              },
              "related_transaction_identifier": {
                "description": "Reference ID linking to parent/related transaction.",
                "example": "txn_ref_987654321",
                "maxLength": 100,
                "minLength": 0,
                "type": "string"
              },
              "sub_merchant": {
                "$ref": "#/components/schemas/ol_MerchantV3"
              }
            },
            "type": "object"
          }
        ],
        "description": "Models a card payment transaction where funds are transferred using a payment card.",
        "required": [
          "type"
        ],
        "title": "Card Payment Details",
        "type": "object"
      },
      "ol_CardPaymentScopeV3": {
        "description": "Defines the scope of a card payment transaction.",
        "enum": [
          "DOMESTIC",
          "CROSSBORDER"
        ],
        "example": "DOMESTIC",
        "type": "string"
      },
      "ol_CardPaymentStageV3": {
        "description": "Defines the stage of a card payment transaction.",
        "enum": [
          "AUTHORIZED",
          "SETTLED",
          "REVERSED",
          "PARTIALLY_SETTLED",
          "CHARGEBACK",
          "CLEARED",
          "CAPTURED",
          "VOIDED"
        ],
        "example": "SETTLED",
        "type": "string"
      },
      "ol_CardPaymentTypeV3": {
        "description": "Defines the type of card payment.",
        "enum": [
          "REGULAR",
          "INSTALLMENT",
          "RECURRING",
          "MOTO",
          "UNSCHEDULED",
          "TOP_UP",
          "REFUND",
          "OTHER",
          "AUTH_ONLY",
          "ECOMMERCE",
          "CARD_PRESENT",
          "CARDHOLDER_NOT_PRESENT",
          "CREDENTIAL_ON_FILE",
          "MERCHANT_INITIATED",
          "RECURRING_FIRST",
          "RECURRING_SUBSEQUENT",
          "ACCOUNT_VERIFICATION",
          "ZERO_AMOUNT",
          "INCREMENTAL_AUTHORIZATION",
          "PUSH_TO_CARD",
          "QUASI_CASH",
          "CASHBACK",
          "GAMBLING_PAYOUT",
          "GAMBLING_BUY_IN",
          "AGENT_CASH_OUT",
          "CHEQUE"
        ],
        "example": "REGULAR",
        "type": "string"
      },
      "ol_CardSchemeV3": {
        "description": "Represents the card scheme/network that issued the card.",
        "enum": [
          "VISA",
          "MASTERCARD",
          "AMERICAN_EXPRESS",
          "DISCOVER",
          "JCB",
          "UNIONPAY",
          "DINERS_CLUB",
          "MAESTRO",
          "RUPAY",
          "MIR"
        ],
        "example": "VISA",
        "type": "string"
      },
      "ol_CardVerificationResultsV3": {
        "description": "Represents card verification results including CVV, AVS, and identity checks.",
        "properties": {
          "avs_check": {
            "$ref": "#/components/schemas/ol_VerificationCheckV3"
          },
          "cvc_check": {
            "$ref": "#/components/schemas/ol_VerificationCheckV3"
          },
          "three_d_secure_check": {
            "$ref": "#/components/schemas/ol_VerificationCheckV3"
          }
        },
        "type": "object"
      },
      "ol_CardWalletTypeV3": {
        "description": "Defines the type of digital wallet.",
        "enum": [
          "GOOGLE_PAY",
          "APPLE_PAY",
          "PAYPAL",
          "REMOTE_COMMERCE_PROGRAMS",
          "OTHER",
          "SAMSUNG_PAY",
          "AMAZON_PAY",
          "CLICK_TO_PAY",
          "ALIPAY",
          "WECHAT_PAY",
          "CASH_APP_PAY",
          "VENMO",
          "LINE_PAY",
          "KAKAOPAY",
          "GRAB_PAY",
          "OVO",
          "DANA",
          "GOPAY",
          "PAYTM",
          "PHONEPE",
          "STC_PAY",
          "CAREEM_PAY",
          "SHOPEEPAY"
        ],
        "example": "APPLE_PAY",
        "type": "string"
      },
      "ol_CashPickupDetailsV3": {
        "description": "Represents cash pickup details for remittance transactions.",
        "properties": {
          "agent_network": {
            "description": "The agent network facilitating the cash pickup.",
            "example": "Western Union",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "The country code (ISO 3166-1 alpha-2) where the cash pickup location is located.",
            "example": "US",
            "maxLength": 2,
            "minLength": 2,
            "nullable": true,
            "pattern": "^[A-Z]{2}$",
            "type": "string"
          },
          "location_identifier": {
            "description": "The location identifier where cash can be picked up.",
            "example": "LOC-987654",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_ChannelNetworkDetailsV3": {
        "description": "Contains network-related information for a payment channel.",
        "properties": {
          "country": {
            "description": "ISO 2-digit country code (alpha).",
            "example": "GB",
            "format": "iso-3166-alpha-2",
            "maxLength": 2,
            "minLength": 2,
            "nullable": true,
            "type": "string"
          },
          "ip_address": {
            "$ref": "#/components/schemas/ol_InternetProtocolAddressV3"
          }
        },
        "type": "object"
      },
      "ol_ChannelV3": {
        "description": "Represents the channel that initiated the transaction.",
        "discriminator": {
          "propertyName": "type"
        },
        "properties": {
          "network_details": {
            "$ref": "#/components/schemas/ol_ChannelNetworkDetailsV3"
          },
          "type": {
            "description": "Channel discriminator.",
            "enum": [
              "DEVICE",
              "ATM"
            ],
            "type": "string"
          }
        },
        "required": [
          "network_details",
          "type"
        ],
        "type": "object"
      },
      "ol_ChargebackInfoV3": {
        "description": "Chargeback information.",
        "properties": {
          "description": {
            "description": "Chargeback description.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "outcome": {
            "description": "Represents the outcome of a chargeback dispute.",
            "enum": [
              "UNDEFENDED",
              "PENDING",
              "WON",
              "LOST",
              "WITHDRAW"
            ],
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "description": "Chargeback reason classification.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "timestamp": {
            "description": "Chargeback initiation timestamp.",
            "format": "date-time",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ol_MonetaryValueV3"
          }
        },
        "required": [
          "timestamp",
          "value"
        ],
        "type": "object"
      },
      "ol_ClearingIdentifierV3": {
        "description": "ClearingIdentifier pairs a routing system with its specific value.",
        "properties": {
          "type": {
            "description": "ClearingIdentifierType specifies the regional system used to route payments to a specific financial institution. These align with ISO 20022 External Clearing System Identification Codes.",
            "enum": [
              "UK_SORT_CODE",
              "US_ABA_ROUTING",
              "IN_IFSC",
              "AU_BSB",
              "CA_TRANSIT",
              "DE_BLZ",
              "HK_BANK_CODE",
              "SG_BANK_CODE",
              "NZ_BANK_CODE",
              "ZA_CLEARING_CODE",
              "CH_SIC",
              "JP_ZENGIN",
              "OTHER"
            ],
            "type": "string"
          },
          "value": {
            "description": "The raw string value of the code. For monitoring, this should be stored as-is without formatting/dashes.",
            "example": "123456",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object"
      },
      "ol_Company": {
        "properties": {
          "address": {
            "items": {
              "$ref": "#/components/schemas/ol_Address"
            },
            "nullable": true,
            "type": "array"
          },
          "alias": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "company_type": {
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "custom_fields": {
            "items": {
              "$ref": "#/components/schemas/ol_CustomFieldInstance"
            },
            "nullable": true,
            "type": "array"
          },
          "incorporation_date": {
            "$ref": "#/components/schemas/ol_Date"
          },
          "industry": {
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "industry_codes": {
            "items": {
              "$ref": "#/components/schemas/ol_IndustryCode"
            },
            "maxItems": 25,
            "minItems": 0,
            "nullable": true,
            "type": "array"
          },
          "legal_name": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string"
          },
          "place_of_registration": {
            "format": "iso-3166-2",
            "maxLength": 6,
            "minLength": 2,
            "nullable": true,
            "type": "string"
          },
          "registration_authority_identification": {
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "source_of_income": {
            "maxLength": 150,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "status_summary": {
            "enum": [
              "UNKNOWN",
              "ACTIVE",
              "INACTIVE"
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "legal_name"
        ],
        "type": "object"
      },
      "ol_ConfigurationDTO": {
        "description": "Optional array specifying sync/async processing configuration for Payment Screening and Transaction Monitoring. This cannot be used if either of `screening_configuration_identifier` or `scenario_configuration_identifiers` is also specified. Each item must have a unique combination of `processing_method` and `type`.",
        "example": {
          "evaluation_result_delivery": {
            "method": "WEBHOOK",
            "webhook_identifier": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          },
          "identifiers": [
            "3fa85f64-5717-4562-b3fc-2c963f66afa6"
          ],
          "processing_method": "ASYNCHRONOUS",
          "type": "TRANSACTION_MONITORING"
        },
        "properties": {
          "evaluation_result_delivery": {
            "$ref": "#/components/schemas/ol_EvaluationResultDeliveryDTO"
          },
          "identifiers": {
            "description": "The configuration identifiers to evaluate the transaction against. If `type` is `PAYMENT_SCREENING` then this must be a single screening configuration identifier. If `type` is `TRANSACTION_MONITORING` then it must be one or more scenario configuration identifiers.",
            "items": {
              "description": "The configuration identifiers to evaluate the transaction against. If `type` is `PAYMENT_SCREENING` then this must be a single screening configuration identifier. If `type` is `TRANSACTION_MONITORING` then it must be one or more scenario configuration identifiers.",
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 2147483647,
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "processing_method": {
            "description": "`SYNCHRONOUS` returns results inline. `ASYNCHRONOUS` returns `PENDING` immediately and delivers results later via webhook. If `type` is `PAYMENT_SCREENING` then this must be `SYNCHRONOUS`.",
            "enum": [
              "SYNCHRONOUS",
              "ASYNCHRONOUS"
            ],
            "type": "string"
          },
          "type": {
            "description": "The type of processing configuration. Use `TRANSACTION_MONITORING` for TM scenarios.",
            "enum": [
              "PAYMENT_SCREENING",
              "TRANSACTION_MONITORING"
            ],
            "type": "string"
          }
        },
        "required": [
          "identifiers",
          "processing_method",
          "type"
        ],
        "type": "object"
      },
      "ol_ContactInformation": {
        "properties": {
          "email_address": {
            "description": "Valid email format: local-part@domain.tld (e.g., 'user@example.com'). TLD must be 2+ letters.",
            "format": "email",
            "items": {
              "description": "Valid email format: local-part@domain.tld (e.g., 'user@example.com'). TLD must be 2+ letters.",
              "format": "email",
              "pattern": "^(?!\\.)(?!.*\\.{2})[A-Za-z0-9._%+-]+(?<!\\.)@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$",
              "type": "string"
            },
            "nullable": true,
            "pattern": "^(?!\\.)(?!.*\\.{2})[A-Za-z0-9._%+-]+(?<!\\.)@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$",
            "type": "array"
          },
          "fax_number": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "phone_number": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "url": {
            "description": "Max 256 characters. Protocol (http/https) is optional. Must have a valid domain with 2+ character TLD. Allowed path characters: letters, numbers, hyphens, dots, slashes. Allowed query param characters: letters, numbers, hyphens, '=', '&', '%'.",
            "format": "uri",
            "items": {
              "description": "Max 256 characters. Protocol (http/https) is optional. Must have a valid domain with 2+ character TLD. Allowed path characters: letters, numbers, hyphens, dots, slashes. Allowed query param characters: letters, numbers, hyphens, '=', '&', '%'.",
              "format": "uri",
              "pattern": "^(https?://)?((\\w-+\\.)+\\w-{2,})(/[\\w\\-./]*)?(\\?[\\w\\-=&%]*)?$",
              "type": "string"
            },
            "nullable": true,
            "pattern": "^(https?://)?((\\w-+\\.)+\\w-{2,})(/[\\w\\-./]*)?(\\?[\\w\\-=&%]*)?$",
            "type": "array"
          }
        },
        "type": "object"
      },
      "ol_CounterpartyPartyIdentifierV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_PartyIdentifierV3"
          },
          {
            "properties": {
              "bank_account": {
                "$ref": "#/components/schemas/ol_BankAccountV3"
              },
              "external_identifier": {
                "description": "Your unique identifier for Counterparty to which this Party is linked.",
                "example": "MyCounterpartyIdentifier",
                "maxLength": 512,
                "minLength": 0,
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Represents the identification details of a counterparty.",
        "required": [
          "type"
        ],
        "title": "Counterparty Party Identifier",
        "type": "object"
      },
      "ol_CreateAndProcessTransactionDTO": {
        "description": "Defines how to perform payment screening and/or transaction monitoring on the supplied transaction. At least one of `configurations`, `screening_configuration_identifier` or `scenario_configuration_identifiers` must be specified.",
        "properties": {
          "configurations": {
            "description": "Optional array specifying sync/async processing configuration for Payment Screening and Transaction Monitoring. This cannot be used if either of `screening_configuration_identifier` or `scenario_configuration_identifiers` is also specified. Each item must have a unique combination of `processing_method` and `type`.",
            "items": {
              "$ref": "#/components/schemas/ol_ConfigurationDTO"
            },
            "nullable": true,
            "type": "array"
          },
          "customers": {
            "description": "The list of customers.",
            "items": {
              "$ref": "#/components/schemas/ol_CustomerApi"
            },
            "maxItems": 1,
            "minItems": 0,
            "nullable": true,
            "type": "array",
            "uniqueItems": true
          },
          "scenario_configuration_identifiers": {
            "deprecated": true,
            "description": "Deprecated in favour of `configurations`. The list of scenario configurations the transaction should be monitored against. This cannot be used if `configurations` is also specified.",
            "items": {
              "deprecated": true,
              "description": "Deprecated in favour of `configurations`. The list of scenario configurations the transaction should be monitored against. This cannot be used if `configurations` is also specified.",
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 0,
            "nullable": true,
            "type": "array",
            "uniqueItems": true
          },
          "screening_configuration_identifier": {
            "deprecated": true,
            "description": "Deprecated in favour of `configurations`. The configuration identifier to be used to screen the transaction. This cannot be used if `configurations` is also specified.",
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "transaction": {
            "$ref": "#/components/schemas/ol_TransactionV3"
          }
        },
        "required": [
          "transaction"
        ],
        "type": "object"
      },
      "ol_CryptoAssetV3": {
        "description": "The asset that was transacted.",
        "properties": {
          "identifier": {
            "$ref": "#/components/schemas/ol_Caip19IdentifierV3"
          },
          "symbol": {
            "description": "Human friendly short symbol.",
            "example": "BTC",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "identifier"
        ],
        "type": "object"
      },
      "ol_CryptoMonetaryTransactionTypeDetailsV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_MonetaryTransactionTypeDetailsV3"
          },
          {
            "properties": {
              "agents": {
                "description": "List of agents associated with a crypto transaction.",
                "items": {
                  "$ref": "#/components/schemas/ol_AgentV3"
                },
                "type": "array"
              },
              "asset": {
                "$ref": "#/components/schemas/ol_CryptoAssetV3"
              },
              "chain": {
                "$ref": "#/components/schemas/ol_BlockchainV3"
              },
              "creditor": {
                "$ref": "#/components/schemas/ol_CryptoPartyV3"
              },
              "debtor": {
                "$ref": "#/components/schemas/ol_CryptoPartyV3"
              },
              "destination_tag": {
                "description": "Destination tag/memo identifying recipient.",
                "type": "string"
              },
              "transaction_hash": {
                "description": "Transaction blockchain hash ID.",
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Crypto-specific transaction details.",
        "required": [
          "agents",
          "asset",
          "chain",
          "creditor",
          "debtor",
          "transaction_hash",
          "type"
        ],
        "title": "Crypto Details",
        "type": "object"
      },
      "ol_CryptoPartyV3": {
        "description": "Crypto specific Party data structure. Could be counterparty or customer. Follows the model of PartyIdentification type but with additional information.",
        "properties": {
          "identification": {
            "$ref": "#/components/schemas/ol_PartyIdentificationV3"
          },
          "wallet": {
            "$ref": "#/components/schemas/ol_CryptoWalletV3"
          }
        },
        "required": [
          "identification",
          "wallet"
        ],
        "type": "object"
      },
      "ol_CryptoWalletV3": {
        "description": "Represents a cryptocurrency wallet involved in a transaction.",
        "properties": {
          "chain": {
            "$ref": "#/components/schemas/ol_BlockchainV3"
          },
          "managing_exchange": {
            "description": "The human readable friendly name of the exchange that the wallet resides on, if applicable.",
            "nullable": true,
            "type": "string"
          },
          "wallet_identifier": {
            "description": "The crypto wallet identifier. Typically the address of the wallet. (public key)",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "wallet_identifier"
        ],
        "type": "object"
      },
      "ol_CustomFieldDataType": {
        "description": "The type of data stored in a custom field.",
        "enum": [
          "TEXT",
          "INTEGER",
          "DECIMAL",
          "DATE",
          "DATETIME"
        ],
        "type": "string"
      },
      "ol_CustomFieldDataTypeV3": {
        "description": "The type of data stored in a custom field.",
        "enum": [
          "TEXT",
          "DECIMAL"
        ],
        "type": "string"
      },
      "ol_CustomFieldInstance": {
        "description": "The instance of a custom field as it relates to a specific customer.",
        "properties": {
          "key": {
            "description": "The key of the custom field.",
            "example": "field_key",
            "type": "string"
          },
          "value": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ol_DateValue"
              },
              {
                "$ref": "#/components/schemas/ol_DatetimeValue"
              },
              {
                "$ref": "#/components/schemas/ol_DecimalValue"
              },
              {
                "$ref": "#/components/schemas/ol_IntegerValue"
              },
              {
                "$ref": "#/components/schemas/ol_TextValue"
              }
            ]
          }
        },
        "required": [
          "key",
          "value"
        ],
        "type": "object"
      },
      "ol_CustomFieldV3": {
        "description": "A representation of a custom field.",
        "properties": {
          "key": {
            "description": "The key of the custom field.",
            "example": "field_key",
            "type": "string"
          },
          "value": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ol_DecimalValueV3"
              },
              {
                "$ref": "#/components/schemas/ol_TextValueV3"
              }
            ]
          }
        },
        "required": [
          "key",
          "value"
        ],
        "type": "object"
      },
      "ol_CustomFieldValue": {
        "description": "The value of the custom field.",
        "discriminator": {
          "mapping": {
            "DATE": "#/components/schemas/ol_DateValue",
            "DATETIME": "#/components/schemas/ol_DatetimeValue",
            "DECIMAL": "#/components/schemas/ol_DecimalValue",
            "INTEGER": "#/components/schemas/ol_IntegerValue",
            "TEXT": "#/components/schemas/ol_TextValue"
          },
          "propertyName": "data_type"
        },
        "properties": {
          "data_type": {
            "$ref": "#/components/schemas/ol_CustomFieldDataType"
          }
        },
        "required": [
          "data_type"
        ],
        "type": "object"
      },
      "ol_CustomFieldValueV3": {
        "description": "The value of the custom field.",
        "discriminator": {
          "propertyName": "data_type"
        },
        "properties": {
          "data_type": {
            "$ref": "#/components/schemas/ol_CustomFieldDataTypeV3"
          }
        },
        "required": [
          "data_type"
        ],
        "type": "object"
      },
      "ol_CustomerApi": {
        "description": "Customer to be created and screened. It can be either a person, a company, a vessel or undefined.",
        "properties": {
          "acquisition_source": {
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "company": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_Company"
              }
            ]
          },
          "customer_since": {
            "$ref": "#/components/schemas/ol_Date"
          },
          "external_identifier": {
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "person": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_Person"
              }
            ]
          },
          "undefined": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_CustomerTypeUndefined"
              }
            ]
          }
        },
        "type": "object"
      },
      "ol_CustomerPartyIdentifierV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_PartyIdentifierV3"
          },
          {
            "properties": {
              "external_identifier": {
                "description": "Your unique identifier for Customer to which this Party is linked.",
                "example": "MyCustomerIdentifier",
                "maxLength": 512,
                "minLength": 0,
                "type": "string",
                "writeOnly": true
              },
              "identifier": {
                "description": "Our unique identifier for Customer to which this Party is linked. We will populate this after mapping your customer identifier to ours as we process your Transaction.",
                "example": "0195fb35-4793-7bb5-8042-e4371640d176",
                "format": "uuid",
                "nullable": true,
                "readOnly": true,
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Represents the identification details of a customer party.",
        "required": [
          "type"
        ],
        "title": "Customer Party Identifier",
        "type": "object"
      },
      "ol_CustomerTypeUndefined": {
        "properties": {
          "birth_year": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "country": {
            "format": "iso-3166-alpha-2",
            "items": {
              "enum": [
                "AF",
                "AX",
                "AL",
                "AN",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BQ",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "CV",
                "KH",
                "CM",
                "CA",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CW",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "SZ",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "KR",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "MK",
                "RO",
                "RU",
                "RW",
                "RE",
                "BL",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "SS",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "UM",
                "US",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "XK",
                "XT",
                "XX",
                "YE",
                "ZM",
                "ZW"
              ],
              "format": "iso-3166-alpha-2",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "custom_fields": {
            "items": {
              "$ref": "#/components/schemas/ol_CustomFieldInstance"
            },
            "nullable": true,
            "type": "array"
          },
          "name": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ol_Date": {
        "properties": {
          "day": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "month": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "year": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ol_DateValue": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_CustomFieldValue"
          },
          {
            "properties": {
              "date": {
                "description": "The date content.",
                "example": "2022-09-27T00:00:00.000Z",
                "format": "date",
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Date representation of the custom field value.",
        "required": [
          "data_type",
          "date"
        ],
        "type": "object"
      },
      "ol_DatetimeValue": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_CustomFieldValue"
          },
          {
            "properties": {
              "datetime": {
                "description": "The datetime content.",
                "example": "2022-09-27T18:00:00.000Z",
                "format": "date-time",
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Datetime representation of the custom field value.",
        "required": [
          "data_type",
          "datetime"
        ],
        "type": "object"
      },
      "ol_DecimalEnrichmentValueV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_EnrichmentValueV3"
          },
          {
            "properties": {
              "decimal": {
                "description": "The decimal value",
                "example": 98.33,
                "type": "number"
              }
            },
            "type": "object"
          }
        ],
        "description": "Decimal representation of the enrichment value.",
        "required": [
          "data_type",
          "decimal"
        ],
        "title": "Decimal Value",
        "type": "object"
      },
      "ol_DecimalValue": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_CustomFieldValue"
          },
          {
            "properties": {
              "decimal": {
                "description": "The decimal value",
                "example": 10.02,
                "type": "number"
              }
            },
            "type": "object"
          }
        ],
        "description": "Decimal representation of the custom field value.",
        "required": [
          "data_type",
          "decimal"
        ],
        "type": "object"
      },
      "ol_DecimalValueV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_CustomFieldValueV3"
          },
          {
            "properties": {
              "decimal": {
                "description": "The decimal value",
                "example": 10.02,
                "type": "number"
              }
            },
            "type": "object"
          }
        ],
        "description": "Decimal representation of the custom field value.",
        "required": [
          "data_type",
          "decimal"
        ],
        "title": "Decimal Value",
        "type": "object"
      },
      "ol_DeviceChannelV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_ChannelV3"
          },
          {
            "properties": {
              "fingerprint": {
                "description": "Device fingerprint.",
                "type": "string"
              },
              "phone_number": {
                "description": "Client phone number used in the transaction.",
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Represents the device channel used to initiate a transaction.",
        "required": [
          "fingerprint",
          "network_details",
          "type"
        ],
        "title": "Device",
        "type": "object"
      },
      "ol_EnrichmentDataTypeV3": {
        "description": "The type of data stored in an enrichment value.",
        "enum": [
          "TEXT",
          "DECIMAL",
          "BOOLEAN"
        ],
        "type": "string"
      },
      "ol_EnrichmentTypeV3": {
        "description": "The type of enrichment source.",
        "enum": [
          "LOOKUP_LIST",
          "REGEX_BOOLEAN"
        ],
        "example": "LOOKUP_LIST",
        "type": "string"
      },
      "ol_EnrichmentV3": {
        "description": "A representation of a transaction enrichment.",
        "properties": {
          "key": {
            "description": "The key of the enrichment.",
            "example": "debtors_country_risk",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ol_EnrichmentTypeV3"
          },
          "value": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ol_BooleanEnrichmentValueV3"
              },
              {
                "$ref": "#/components/schemas/ol_DecimalEnrichmentValueV3"
              },
              {
                "$ref": "#/components/schemas/ol_TextEnrichmentValueV3"
              }
            ]
          }
        },
        "required": [
          "key",
          "type",
          "value"
        ],
        "type": "object"
      },
      "ol_EnrichmentValueV3": {
        "description": "The value of the enrichment.",
        "discriminator": {
          "propertyName": "data_type"
        },
        "properties": {
          "data_type": {
            "$ref": "#/components/schemas/ol_EnrichmentDataTypeV3"
          }
        },
        "required": [
          "data_type"
        ],
        "type": "object"
      },
      "ol_EvaluationErrorDTO": {
        "description": "Detail on the evaluation error of the scenario if any",
        "example": {
          "detail": "Missing field value: transaction_identifier",
          "title": "Input Validation Error"
        },
        "properties": {
          "detail": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "detail",
          "title"
        ],
        "type": "object"
      },
      "ol_EvaluationResultDTO": {
        "properties": {
          "errors": {
            "items": {
              "$ref": "#/components/schemas/ol_EvaluationErrorDTO"
            },
            "type": "array"
          },
          "outcome": {
            "enum": [
              "PROCESS",
              "ALLOW",
              "HOLD",
              "REJECT",
              "UNKNOWN",
              "ERROR",
              "PENDING"
            ],
            "type": "string"
          },
          "scenario_evaluations": {
            "items": {
              "$ref": "#/components/schemas/ol_ScenarioConfigurationEvaluationDTO"
            },
            "type": "array",
            "uniqueItems": true
          },
          "screening_evaluation_results": {
            "$ref": "#/components/schemas/ol_TransactionScreeningEvaluationDTO"
          }
        },
        "required": [
          "errors",
          "outcome",
          "scenario_evaluations"
        ],
        "type": "object"
      },
      "ol_EvaluationResultDeliveryDTO": {
        "description": "Optional. Specifies how to deliver async evaluation results. Only valid when `processing_method` is `ASYNCHRONOUS` and `type` is `TRANSACTION_MONITORING`.",
        "properties": {
          "method": {
            "description": "The delivery method. Currently only `WEBHOOK` is supported.",
            "enum": [
              "WEBHOOK"
            ],
            "type": "string"
          },
          "webhook_identifier": {
            "description": "The `identifier` of a webhook configuration created via `POST /v2/notifications/configurations/webhook` with `type: TRANSACTION_MONITORING_ASYNC_COMPLETED`.",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "method",
          "webhook_identifier"
        ],
        "type": "object"
      },
      "ol_EvaluationResultDeliveryResponseDTO": {
        "properties": {
          "method": {
            "enum": [
              "WEBHOOK"
            ],
            "type": "string"
          },
          "webhook_identifier": {
            "type": "string"
          }
        },
        "required": [
          "method",
          "webhook_identifier"
        ],
        "type": "object"
      },
      "ol_FincenCashTransactionSubtype": {
        "description": "Defines the subtype of FinCEN transactions.",
        "enum": [
          "DEPOSIT",
          "PAYMENT",
          "CURRENCY_TRANSFER_OUT",
          "NEGOTIABLE_INSTRUMENT_PURCHASE",
          "CURRENCY_EXCHANGE",
          "CURRENCY_TO_PREPAID_ACCESS",
          "GAMING_INSTRUMENT_PURCHASE",
          "CURRENCY_WAGER",
          "BILLS_INSERTED_INTO_GAMING_DEVICES",
          "WITHDRAWAL",
          "ADVANCE_ON_CREDIT",
          "CURRENCY_TRANSFER_IN",
          "NEGOTIABLE_INSTRUMENT_CASHED",
          "CURRENCY_FROM_PREPAID_ACCESS",
          "GAMING_INSTRUMENT_REDEMPTION",
          "PAYMENT_ON_WAGER",
          "TRAVEL_COMPLIMENTARY_EXPENSES",
          "PROMOTION_PAYMENT",
          "OTHER"
        ],
        "example": "PAYMENT",
        "nullable": true,
        "type": "string"
      },
      "ol_FincenDetailsV3": {
        "description": "FinCEN transaction details.",
        "properties": {
          "cash_value": {
            "$ref": "#/components/schemas/ol_MonetaryValueV3"
          },
          "fincen_cash_transaction_subtype": {
            "$ref": "#/components/schemas/ol_FincenCashTransactionSubtype"
          },
          "gto_type_codes": {
            "description": "List of GTO type codes associated with the transaction.",
            "example": [
              "MSB0326GTO"
            ],
            "items": {
              "description": "List of GTO type codes associated with the transaction.",
              "example": "[\"MSB0326GTO\"]",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "ol_GeographicCoordinatesV3": {
        "description": "Geographic location represented by the latitude and longitude.",
        "properties": {
          "latitude": {
            "description": "The angular distance north or south of the Earth's equator, measured in degrees. Valid range: -90 to +90, where negative values represent southern latitudes and positive values represent northern latitudes.",
            "example": -34.603722,
            "maximum": 90,
            "minimum": -90,
            "type": "number"
          },
          "longitude": {
            "description": "The angular distance east or west of the prime meridian, measured in degrees. Valid range: -180 to +180, where negative values represent western longitudes and positive values represent eastern longitudes.",
            "example": 148.516389,
            "maximum": 180,
            "minimum": -180,
            "type": "number"
          }
        },
        "required": [
          "latitude",
          "longitude"
        ],
        "type": "object"
      },
      "ol_IndustryCode": {
        "properties": {
          "code": {
            "description": "The alphanumeric value of the industry code, aligning to the Industry Code Type",
            "maxLength": 10,
            "minLength": 0,
            "type": "string"
          },
          "description": {
            "description": "The description of the industry code",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "is_primary": {
            "default": false,
            "description": "Flag to indicate if this code is the customer's main line of business",
            "type": "boolean"
          },
          "type": {
            "description": "The standard being used i.e. NAICS, SIC, SIC2007_1, NACE, etc.",
            "maxLength": 10,
            "minLength": 0,
            "type": "string"
          }
        },
        "required": [
          "code",
          "is_primary",
          "type"
        ],
        "type": "object"
      },
      "ol_IntegerValue": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_CustomFieldValue"
          },
          {
            "properties": {
              "integer": {
                "description": "The integer content.",
                "example": 30,
                "format": "int64",
                "type": "integer"
              }
            },
            "type": "object"
          }
        ],
        "description": "Integer representation of the custom field value.",
        "required": [
          "data_type",
          "integer"
        ],
        "type": "object"
      },
      "ol_InternetProtocolAddressV3": {
        "description": "Represents an Internet Protocol (IP) address with its associated type information.",
        "properties": {
          "address": {
            "description": "The IP address in the native format.",
            "example": "192.168.1.1",
            "pattern": "((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$))",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ol_InternetProtocolInformationV3"
          }
        },
        "required": [
          "address",
          "type"
        ],
        "type": "object"
      },
      "ol_InternetProtocolInformationV3": {
        "description": "Enumeration for available IP format values.",
        "enum": [
          "IPV4",
          "IPV6"
        ],
        "type": "string"
      },
      "ol_IssuerV3": {
        "description": "Represents the card issuer information.",
        "properties": {
          "bank_identification_number": {
            "description": "Bank Identification Number (first 6-8 digits of card).",
            "example": "424242",
            "nullable": true,
            "pattern": "^[0-9]{6,8}$",
            "type": "string"
          },
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              }
            ]
          }
        },
        "type": "object"
      },
      "ol_LoanProductV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_ProductV3"
          },
          {
            "properties": {
              "base_loan_value": {
                "$ref": "#/components/schemas/ol_MonetaryValueV3"
              },
              "base_remaining_balance_value": {
                "$ref": "#/components/schemas/ol_MonetaryValueV3"
              },
              "expected_installment_count": {
                "description": "The expected number of loan installments to be made.",
                "example": 12,
                "format": "int32",
                "type": "integer"
              },
              "expected_repayment_date": {
                "description": "The expected repayment date of the loan.",
                "example": "2025-04-03T00:00:00.000Z",
                "format": "date",
                "type": "string"
              },
              "funded_at": {
                "description": "The timestamp the loan was funded.",
                "example": "2025-04-03T11:32:00.000Z",
                "format": "date-time",
                "type": "string"
              },
              "loan_type": {
                "$ref": "#/components/schemas/ol_LoanTypeV3"
              },
              "loan_value": {
                "$ref": "#/components/schemas/ol_MonetaryValueV3"
              },
              "remaining_balance_value": {
                "$ref": "#/components/schemas/ol_MonetaryValueV3"
              },
              "settled_at": {
                "description": "The timestamp the loan was settled.",
                "example": "2025-04-03T11:32:00.000Z",
                "format": "date-time",
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Represents a loan product.",
        "required": [
          "base_loan_value",
          "base_remaining_balance_value",
          "loan_type",
          "type"
        ],
        "title": "Loan",
        "type": "object"
      },
      "ol_LoanTypeV3": {
        "description": "Defines the type of loan.",
        "enum": [
          "CREDIT_CARD",
          "DEBT_CONSOLIDATION",
          "HOME_EQUITY",
          "GUARANTOR_LOAN",
          "OVERDRAFT",
          "BUY_NOW_PAY_LATER",
          "TERM_LOAN",
          "WORKING_CAPITAL_FINANCE",
          "COMMERCIAL_MORTGAGE",
          "ASSET_FINANCE",
          "INVOICE_FINANCE",
          "SYNDICATED_LOAN",
          "SMALL_BUSINESS_LOAN",
          "BRIDGING_LOAN",
          "MICROFINANCE",
          "CRYPTO_COLLATERALIZED_LOAN",
          "HOME_EQUITY_LOAN",
          "STUDENT_LOAN",
          "DEBT_CONSOLIDATION_LOAN",
          "CREDIT_BUILDER_LOAN",
          "MORTGAGE",
          "PERSONAL",
          "PAYDAY",
          "VEHICLE",
          "OTHER"
        ],
        "example": "BRIDGING_LOAN",
        "type": "string"
      },
      "ol_LocalAccountDetailsV3": {
        "description": "Represents banking information for 'domestic rail' transactions where a global standard like IBAN is not used.",
        "properties": {
          "account_number": {
            "description": "The primary account number (BAN).",
            "type": "string"
          },
          "account_number_suffix": {
            "description": "Regional extension for specific markets. In the NZ, this is the 2-3 digit suffix distinguishing sub-accounts. In the UK, this could contain a building society roll number.",
            "nullable": true,
            "type": "string"
          },
          "clearing_identifier": {
            "$ref": "#/components/schemas/ol_ClearingIdentifierV3"
          }
        },
        "required": [
          "account_number",
          "clearing_identifier"
        ],
        "type": "object"
      },
      "ol_LongRange": {
        "properties": {
          "high": {
            "format": "int64",
            "type": "integer"
          },
          "low": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "high",
          "low"
        ],
        "type": "object"
      },
      "ol_MerchantV3": {
        "description": "Represents merchant information.",
        "properties": {
          "category_type": {
            "description": "Represents the category types for Merchant Category Codes based on industry code ranges.",
            "enum": [
              "AGRICULTURAL_SERVICES",
              "CONTRACTED_SERVICES",
              "TRANSPORTATION_SERVICES",
              "UTILITY_SERVICES",
              "RETAIL_OUTLET_SERVICES",
              "CLOTHING_SHOPS",
              "MISCELLANEOUS_SHOPS",
              "BUSINESS_SERVICES",
              "PROFESSIONAL_SERVICES",
              "GOVERNMENT_SERVICES"
            ],
            "example": "RETAIL_OUTLET_SERVICES",
            "nullable": true,
            "type": "string"
          },
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              }
            ]
          },
          "mcc_category_code": {
            "description": "4-digit Merchant Category Code.",
            "example": "5411",
            "nullable": true,
            "pattern": "^[0-9]{4}$",
            "type": "string"
          },
          "mcc_code_description": {
            "description": "Human-readable MCC description.",
            "example": "Grocery Stores, Supermarkets",
            "maxLength": 200,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_MonetaryTransactionClassificationDetailsV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_TransactionClassificationDetailsV3"
          },
          {
            "properties": {
              "base_value": {
                "$ref": "#/components/schemas/ol_MonetaryValueV3"
              },
              "customer_account_balance": {
                "$ref": "#/components/schemas/ol_AccountBalanceV3"
              },
              "details": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ol_BankPaymentMonetaryTransactionTypeDetailsV3"
                  },
                  {
                    "$ref": "#/components/schemas/ol_CardPaymentMonetaryTransactionTypeDetailsV3"
                  },
                  {
                    "$ref": "#/components/schemas/ol_CryptoMonetaryTransactionTypeDetailsV3"
                  },
                  {
                    "$ref": "#/components/schemas/ol_RemittanceMonetaryTransactionTypeDetailsV3"
                  }
                ]
              },
              "direction": {
                "$ref": "#/components/schemas/ol_MonetaryTransactionDirectionV3"
              },
              "local_value": {
                "$ref": "#/components/schemas/ol_MonetaryValueV3"
              },
              "payment_channel": {
                "$ref": "#/components/schemas/ol_PaymentChannelV3"
              },
              "product_name": {
                "description": "The freeform name of the product being used to perform the financial transaction.",
                "example": "Product X, Issue 1",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              },
              "reference_text": {
                "description": "The reference text supplied as part of the financial transaction (if any).",
                "example": "Invoice 1234",
                "maxLength": 512,
                "minLength": 0,
                "type": "string"
              },
              "value": {
                "$ref": "#/components/schemas/ol_MonetaryValueV3"
              }
            },
            "type": "object"
          }
        ],
        "description": "Details related to a monetary transaction.",
        "required": [
          "base_value",
          "classification",
          "details"
        ],
        "title": "Monetary Transaction Details",
        "type": "object"
      },
      "ol_MonetaryTransactionDirectionV3": {
        "description": "Defines the direction of the flow of value in the transaction in relation to the primary Customer in a Monetary Transaction.",
        "enum": [
          "OUTBOUND",
          "INBOUND"
        ],
        "readOnly": true,
        "type": "string"
      },
      "ol_MonetaryTransactionTypeDetailsV3": {
        "description": "Details specific to the a Monetary Transaction.",
        "discriminator": {
          "propertyName": "type"
        },
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ol_MonetaryTransactionTypeV3"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "ol_MonetaryTransactionTypeV3": {
        "description": "Defines the type of a monetary transaction.",
        "enum": [
          "BANK_PAYMENT",
          "CARD_PAYMENT",
          "REMITTANCE",
          "CRYPTO"
        ],
        "example": "BANK_PAYMENT",
        "type": "string"
      },
      "ol_MonetaryValueV3": {
        "description": "Represents a combination of a decimal amount with a currency.",
        "properties": {
          "amount": {
            "description": "The decimal amount/value.",
            "example": 10.02,
            "type": "number"
          },
          "crypto_asset": {
            "$ref": "#/components/schemas/ol_CryptoAssetV3"
          },
          "currency": {
            "description": "3 letter currency code as defined by ISO-4217.",
            "example": "EUR",
            "format": "iso-4217",
            "maxLength": 3,
            "minLength": 3,
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "amount"
        ],
        "type": "object"
      },
      "ol_MoneyTransferOperatorV3": {
        "description": "Represents a money transfer operator's details.",
        "properties": {
          "identifier": {
            "description": "A unique identifier for the money transfer operator, such as a SWIFT BIC or regulatory identifier.",
            "example": "WUIBUS6S",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "The legal name of the money transfer operator.",
            "example": "Western Union",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_NetWorth": {
        "properties": {
          "amount": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "currency": {
            "enum": [
              "AFN",
              "EUR",
              "ALL",
              "DZD",
              "USD",
              "AOA",
              "XCD",
              "XXX",
              "ARS",
              "AMD",
              "AWG",
              "AUD",
              "AZN",
              "BSD",
              "BHD",
              "BDT",
              "BBD",
              "BYN",
              "BZD",
              "XOF",
              "BMD",
              "INR",
              "BTN",
              "BOB",
              "BOV",
              "BAM",
              "BWP",
              "NOK",
              "BRL",
              "BND",
              "BGN",
              "BIF",
              "CVE",
              "KHR",
              "XAF",
              "CAD",
              "KYD",
              "CLP",
              "CLF",
              "CNY",
              "COP",
              "COU",
              "KMF",
              "CDF",
              "NZD",
              "CRC",
              "CUP",
              "CUC",
              "ANG",
              "CZK",
              "DKK",
              "DJF",
              "DOP",
              "EGP",
              "SVC",
              "ERN",
              "SZL",
              "ETB",
              "FKP",
              "FJD",
              "XPF",
              "GMD",
              "GEL",
              "GHS",
              "GIP",
              "GTQ",
              "GBP",
              "GNF",
              "GYD",
              "HTG",
              "HNL",
              "HKD",
              "HUF",
              "ISK",
              "IDR",
              "XDR",
              "IRR",
              "IQD",
              "ILS",
              "JMD",
              "JPY",
              "JOD",
              "KZT",
              "KES",
              "KPW",
              "KRW",
              "KWD",
              "KGS",
              "LAK",
              "LBP",
              "LSL",
              "ZAR",
              "LRD",
              "LYD",
              "CHF",
              "MOP",
              "MKD",
              "MGA",
              "MWK",
              "MYR",
              "MVR",
              "MRU",
              "MUR",
              "XUA",
              "MXN",
              "MXV",
              "MDL",
              "MNT",
              "MAD",
              "MZN",
              "MMK",
              "NAD",
              "NPR",
              "NIO",
              "NGN",
              "OMR",
              "PKR",
              "PAB",
              "PGK",
              "PYG",
              "PEN",
              "PHP",
              "PLN",
              "QAR",
              "RON",
              "RUB",
              "RWF",
              "SHP",
              "WST",
              "STN",
              "SAR",
              "RSD",
              "SCR",
              "SLL",
              "SLE",
              "SGD",
              "XSU",
              "SBD",
              "SOS",
              "SSP",
              "LKR",
              "SDG",
              "SRD",
              "SEK",
              "CHE",
              "CHW",
              "SYP",
              "TWD",
              "TJS",
              "TZS",
              "THB",
              "TOP",
              "TTD",
              "TND",
              "TRY",
              "TMT",
              "UGX",
              "UAH",
              "AED",
              "USN",
              "UYU",
              "UYI",
              "UYW",
              "UZS",
              "VUV",
              "VES",
              "VED",
              "VND",
              "YER",
              "ZMW",
              "ZWL",
              "XBA",
              "XBB",
              "XBC",
              "XBD",
              "XTS",
              "XAU",
              "XPD",
              "XPT",
              "XAG"
            ],
            "format": "iso-4217",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_OnlineRemittancePlatformV3": {
        "description": "Represents an online remittance platform's details.",
        "properties": {
          "identifier": {
            "description": "A unique identifier for the online remittance platform.",
            "example": "remittance-identifier",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "The brand or platform name of the online remittance service.",
            "example": "Wise",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_PartyIdentificationV3": {
        "description": "Represents the identification details of a party. This includes not just the party's identifier, but also any other identifying information specific to the transaction such as alternate names or addresses.",
        "properties": {
          "address": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ol_StructuredAddressV3"
              },
              {
                "$ref": "#/components/schemas/ol_UnstructuredAddressV3"
              }
            ]
          },
          "identifier": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ol_CounterpartyPartyIdentifierV3"
              },
              {
                "$ref": "#/components/schemas/ol_CustomerPartyIdentifierV3"
              }
            ]
          },
          "name": {
            "description": "The name of the party.",
            "example": "John Doe",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_PartyIdentifierV3": {
        "description": "Party identifier details",
        "discriminator": {
          "propertyName": "type"
        },
        "properties": {
          "type": {
            "description": "The type of party identifier.",
            "enum": [
              "CUSTOMER",
              "COUNTERPARTY"
            ],
            "example": "CUSTOMER",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "ol_PaymentCardV3": {
        "description": "Details about a payment card used in a transaction.",
        "properties": {
          "fingerprint": {
            "description": "Unique hashed card identifier for tracking.",
            "example": "card_fingerprint_123456",
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "funding_type": {
            "$ref": "#/components/schemas/ol_CardFundingTypeV3"
          },
          "wallet_identifier": {
            "description": "Digital wallet identifier if applicable.",
            "example": "wallet_12345678",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "wallet_type": {
            "$ref": "#/components/schemas/ol_CardWalletTypeV3"
          }
        },
        "required": [
          "fingerprint"
        ],
        "type": "object"
      },
      "ol_PaymentChannelV3": {
        "description": "The channel used for a payment.",
        "enum": [
          "OTHER",
          "MOBILE",
          "WEB",
          "BRANCH",
          "TELEPHONE",
          "ATM",
          "POS",
          "KIOSK",
          "AGENT",
          "API",
          "IVR",
          "MAIL"
        ],
        "example": "MOBILE",
        "type": "string"
      },
      "ol_PaymentSchemeV3": {
        "description": "The payment scheme that was used to initiate the financial transaction.",
        "enum": [
          "OTHER",
          "SWIFT",
          "SEPA",
          "SEPA_INSTANT",
          "FASTER_PAYMENTS",
          "CHAPS",
          "BACS",
          "FEDNOW",
          "SWIFT_GPI",
          "T2",
          "TIPS",
          "NPA",
          "FEDWIRE",
          "ACH",
          "SAME_DAY_ACH",
          "RTP_TCH",
          "ZELLE",
          "INTERAC_ETRANSFER",
          "LYNX",
          "ACSS",
          "RTR",
          "SPEI",
          "PIX",
          "STR",
          "TED",
          "UPI",
          "IMPS",
          "NEFT",
          "RTGS",
          "RAAST",
          "FAST",
          "PAYNOW",
          "DUITNOW",
          "PROMPTPAY",
          "BI_FAST",
          "INSTAPAY",
          "PESONET",
          "NAPAS_247",
          "BAKONG",
          "CNAPS",
          "HVPS",
          "IBPS",
          "CIPS",
          "CHATS",
          "FPS",
          "ZENGIN",
          "BOJ_NET",
          "BOK_WIRE_PLUS",
          "NPP",
          "OSKO",
          "PAYTO",
          "BECS",
          "RITS",
          "AANI",
          "UAEFTS",
          "SARIE",
          "FAWRAN",
          "ZAHAV",
          "MARI",
          "NIP",
          "CBN_RTGS",
          "PAYSHAP",
          "SAMOS",
          "PESALINK",
          "KEPSS",
          "GIP",
          "PAPSS",
          "BUNA",
          "AFAQ",
          "GIMACPAY",
          "TCIB",
          "SBP",
          "BESP",
          "MOBILE_MONEY_MTN_MOMO",
          "MOBILE_MONEY_AIRTEL_MONEY",
          "MOBILE_MONEY_ORANGE_MONEY",
          "MOBILE_MONEY_WAVE",
          "GCASH",
          "MAYA",
          "OVO",
          "DANA",
          "GOPAY",
          "TRUEMONEY",
          "MOMO",
          "PAYTM",
          "PHONEPE",
          "STC_PAY",
          "CAREEM_PAY",
          "CLS",
          "CHIPS",
          "TARGET2_T2S",
          "SEPA_SCT",
          "SEPA_SDD_CORE",
          "SEPA_SDD_B2B",
          "EBA_EURO1",
          "EBA_STEP2",
          "EBA_RT1",
          "MYBANK",
          "EPI_WERO",
          "OPEN_BANKING_PAYMENTS",
          "BIZUM",
          "SNCE_IBERPAY",
          "IDEAL",
          "EQUENS",
          "PAYCONIQ",
          "CEC",
          "GIROPAY",
          "RPS_SEPA_CLEARER",
          "PAYDIREKT",
          "CORE",
          "PAYLIB",
          "BANCOMAT_PAY",
          "BICOMP",
          "MBWAY",
          "SICOI",
          "DIAS",
          "IRIS",
          "SIC",
          "SIC_IP",
          "EUROSIC",
          "TWINT",
          "EXPRESS_ELIXIR",
          "ELIXIR",
          "SORBNET2",
          "BLIK",
          "CERTIS",
          "GIRO",
          "AFR",
          "QVIK",
          "VIBER",
          "TRANSFOND_SENT",
          "REGIS",
          "ROPAY",
          "BISERA",
          "BLINK",
          "RINGS",
          "NKSINST",
          "IPS_NBS",
          "RTGS_NBS",
          "KOLAS",
          "EFT",
          "IPS",
          "SWISH",
          "RIX_INST",
          "RIX",
          "BANKGIROT",
          "VIPPS",
          "NICS",
          "STRAKSBETALINGER",
          "NBO",
          "MOBILEPAY",
          "STRAKSCLEARING",
          "SUMCLEARINGEN",
          "KRONOS2",
          "SIIRTO",
          "PIVO",
          "NORDIC_P27",
          "CODI",
          "DIMO",
          "SIAC",
          "SITRAF",
          "BOLETO",
          "TRANSFERENCIAS_3_0",
          "DEBIN",
          "MODO",
          "MEP",
          "CCE_COELSA",
          "TEF",
          "LBTR",
          "PSE",
          "TRANSFIYA",
          "BRE_B",
          "CUD",
          "YAPE",
          "PLIN",
          "CCE",
          "LBBCRP",
          "SPI",
          "SINPE",
          "SINPE_MOVIL",
          "SIPARD",
          "UY_TR",
          "SLBTR",
          "BCB_LIP",
          "QR_SIMPLE",
          "SIPAP",
          "AEPS",
          "NACH",
          "BBPS",
          "E_RUPI",
          "CEFTS",
          "LANKASETTLE",
          "ONELINK_IBFT",
          "PRISM",
          "BKASH",
          "NAGAD",
          "BINIMOY",
          "BEFTN",
          "CONNECTIPS",
          "NEPS_RTGS",
          "GIFT",
          "MEPS_PLUS",
          "IBFT",
          "FPX",
          "RENTAS",
          "BAHTNET",
          "BI_RTGS",
          "SKNBI",
          "QRIS",
          "PHILPASS",
          "QR",
          "VIETQR",
          "CITAD",
          "BEPS",
          "NUCC_NETSUNION",
          "CDFCPS",
          "ALIPAY",
          "WECHAT_PAY",
          "E_CNY",
          "CIFS",
          "FISC_IFT",
          "CBC_IFTS",
          "FXYCS",
          "PAY_EASY",
          "PAYPAY",
          "KFTC_INTERBANK",
          "KAKAOPAY",
          "NAVER_PAY",
          "TOSS",
          "PAYID",
          "BPAY",
          "ESAS",
          "SBI_BECS",
          "DIGITAL_DIRHAM",
          "SARTGS",
          "QMP",
          "QPS",
          "FAWRI",
          "FAWRI_PLUS",
          "FAWATEER",
          "BENEFITPAY",
          "KASSIP",
          "MPCSS",
          "CLIQ",
          "JOMOPAY",
          "MASAV",
          "AEBC",
          "VIREMENT_INSTANTANE",
          "SRBM",
          "ATCI_SACI",
          "ARTS",
          "SWITMOBILE",
          "SIBTEL",
          "LYPAY",
          "NQR",
          "ENAIRA",
          "RTC",
          "EFT_CREDIT",
          "M_PESA",
          "TISS",
          "GIPS",
          "UNISS",
          "EKASH_RSWITCH",
          "RIPPS",
          "MMI",
          "EZWICH",
          "GHANA_RTGS",
          "NFS",
          "ZIPSS",
          "ETHSWITCH",
          "EATS",
          "SADC_RTGS",
          "EAPS",
          "REPSS",
          "PROJECT_NEXUS",
          "PROJECT_MBRIDGE",
          "UPI_PAYNOW_LINK",
          "PROMPTPAY_PAYNOW_LINK",
          "DUITNOW_PROMPTPAY_LINK",
          "SPFS",
          "BISS",
          "KCIPS",
          "PROSTIR",
          "SEP",
          "ZALOPAY",
          "KBZPAY",
          "STABLECOIN_USDC",
          "STABLECOIN_USDT",
          "STABLECOIN_PYUSD",
          "STABLECOIN_EURC"
        ],
        "example": "SWIFT",
        "type": "string"
      },
      "ol_PaymentStagesInfoV3": {
        "description": "Payment stages information.",
        "properties": {
          "authorization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_AuthorizationInfoV3"
              }
            ]
          },
          "chargeback": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_ChargebackInfoV3"
              }
            ]
          },
          "refund": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_RefundInfoV3"
              }
            ]
          },
          "reversal": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_ReversalInfoV3"
              }
            ]
          },
          "settlement": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_SettlementInfoV3"
              }
            ]
          }
        },
        "type": "object"
      },
      "ol_Person": {
        "properties": {
          "address": {
            "items": {
              "$ref": "#/components/schemas/ol_Address"
            },
            "nullable": true,
            "type": "array"
          },
          "contact_information": {
            "$ref": "#/components/schemas/ol_ContactInformation"
          },
          "country_of_birth": {
            "enum": [
              "AF",
              "AX",
              "AL",
              "AN",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "SZ",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "MK",
              "RO",
              "RU",
              "RW",
              "RE",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "US",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "XK",
              "XT",
              "XX",
              "YE",
              "ZM",
              "ZW"
            ],
            "format": "iso-3166-alpha-2",
            "nullable": true,
            "type": "string"
          },
          "custom_fields": {
            "items": {
              "$ref": "#/components/schemas/ol_CustomFieldInstance"
            },
            "nullable": true,
            "type": "array"
          },
          "date_of_birth": {
            "$ref": "#/components/schemas/ol_Date"
          },
          "fathers_name": {
            "description": "Field to capture the patronymic name of the customer",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "first_name": {
            "maxLength": 100,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "full_name": {
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "gender": {
            "enum": [
              "MALE",
              "FEMALE",
              "NOT_KNOWN",
              "OTHER"
            ],
            "nullable": true,
            "type": "string"
          },
          "industry": {
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "last_name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "middle_name": {
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "mothers_name": {
            "description": "Field to capture the matronymic name of the customer",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "nationality": {
            "format": "iso-3166-alpha-2",
            "items": {
              "enum": [
                "AF",
                "AX",
                "AL",
                "AN",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BQ",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "CV",
                "KH",
                "CM",
                "CA",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CW",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "SZ",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "KR",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "MK",
                "RO",
                "RU",
                "RW",
                "RE",
                "BL",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "SS",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "UM",
                "US",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "XK",
                "XT",
                "XX",
                "YE",
                "ZM",
                "ZW"
              ],
              "format": "iso-3166-alpha-2",
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "net_worth": {
            "$ref": "#/components/schemas/ol_NetWorth"
          },
          "personal_identification": {
            "items": {
              "$ref": "#/components/schemas/ol_PersonalIdentification"
            },
            "nullable": true,
            "type": "array"
          },
          "profession": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "residential_information": {
            "items": {
              "$ref": "#/components/schemas/ol_ResidentialInformation"
            },
            "nullable": true,
            "type": "array"
          },
          "salary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_Salary"
              }
            ]
          },
          "source_of_income": {
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "source_of_wealth": {
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "suffix": {
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "title": {
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "last_name"
        ],
        "type": "object"
      },
      "ol_PersonalIdentification": {
        "properties": {
          "date_of_expiry": {
            "$ref": "#/components/schemas/ol_Date"
          },
          "date_of_issue": {
            "$ref": "#/components/schemas/ol_Date"
          },
          "issuing_country": {
            "enum": [
              "AF",
              "AX",
              "AL",
              "AN",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "SZ",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "MK",
              "RO",
              "RU",
              "RW",
              "RE",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "US",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "XK",
              "XT",
              "XX",
              "YE",
              "ZM",
              "ZW"
            ],
            "format": "iso-3166-alpha-2",
            "nullable": true,
            "type": "string"
          },
          "number": {
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "type": {
            "enum": [
              "SOCIAL_SECURITY_NUMBER",
              "DRIVING_LICENCE",
              "PASSPORT",
              "IDENTITY_CARD",
              "TAX_REGISTRATION",
              "ALIEN_IDENTIFICATION",
              "EMPLOYER_IDENTIFICATION",
              "OTHER",
              "VOTER_ID",
              "RESIDENCE_PERMIT",
              "SERVICE_CARD",
              "MILITARY_ID",
              "BIRTH_CERTIFICATE",
              "REFUGEE_TRAVEL_DOCUMENT",
              "BORDER_CROSSING_CARD",
              "CIVIL_IDENTITY_REGISTRY",
              "DIGITAL_ID",
              "CERTIFICATE_OF_STATUS"
            ],
            "nullable": true,
            "type": "string"
          },
          "type_details": {
            "description": "Free-text elaboration on `type` when the enum value alone does not capture regional or operational nuance. Does not replace `type` — the enum remains the primary, structured value.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_PointOfSaleConditionCodeV3": {
        "description": "Point of sale condition code and description",
        "properties": {
          "code": {
            "description": "2-digit POS condition code",
            "example": "59",
            "nullable": true,
            "pattern": "^[0-9]{2}$",
            "type": "string"
          },
          "description": {
            "description": "Human-readable POS condition description",
            "example": "E-commerce transaction - card not present",
            "maxLength": 200,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_PointOfSaleConditionV3": {
        "description": "Contains contextual information about the card payment environment.",
        "properties": {
          "condition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_PointOfSaleConditionCodeV3"
              }
            ]
          },
          "entry_mode": {
            "$ref": "#/components/schemas/ol_PointOfSaleEntryModeV3"
          }
        },
        "type": "object"
      },
      "ol_PointOfSaleEntryModeV3": {
        "description": "Point of sale entry mode code and description",
        "properties": {
          "code": {
            "description": "3-digit POS entry mode code",
            "example": "012",
            "nullable": true,
            "pattern": "^[0-9]{3}$",
            "type": "string"
          },
          "description": {
            "description": "Human-readable POS entry mode description",
            "example": "E-commerce transaction",
            "maxLength": 200,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_ProblemDetailErrorResponse": {
        "additionalProperties": true,
        "properties": {
          "detail": {
            "nullable": true,
            "type": "string"
          },
          "identifier": {
            "format": "uuid",
            "type": "string"
          },
          "instance": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "format": "int32",
            "nullable": true,
            "type": "integer"
          },
          "timestamp": {
            "format": "date-time",
            "type": "string"
          },
          "title": {
            "nullable": true,
            "type": "string"
          },
          "type": {
            "format": "uri",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "identifier",
          "timestamp"
        ],
        "type": "object"
      },
      "ol_ProductTypeV3": {
        "description": "Defines the type of product payload.",
        "enum": [
          "LOAN"
        ],
        "type": "string"
      },
      "ol_ProductV3": {
        "description": "Represents product details associated with a transaction.",
        "discriminator": {
          "propertyName": "type"
        },
        "properties": {
          "base_expected_monthly_payment_value": {
            "$ref": "#/components/schemas/ol_MonetaryValueV3"
          },
          "expected_monthly_payment_value": {
            "$ref": "#/components/schemas/ol_MonetaryValueV3"
          },
          "external_identifier": {
            "description": "The client's identifier for the product.",
            "example": "customer_loan_id",
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          },
          "identifier": {
            "description": "The CA internal identifier for the product.",
            "example": "0195fb35-4793-7bb5-8042-e4371640d176",
            "format": "uuid",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "monthly_transaction_count": {
            "description": "The monthly transaction number of the product.",
            "example": 12,
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "name": {
            "description": "The name of the product.",
            "example": "Personal Loan",
            "maxLength": 256,
            "minLength": 0,
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ol_ProductTypeV3"
          }
        },
        "required": [
          "external_identifier",
          "name",
          "type"
        ],
        "type": "object"
      },
      "ol_RefundInfoV3": {
        "description": "Refund information.",
        "properties": {
          "reason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_RefundReasonV3"
              }
            ]
          },
          "timestamp": {
            "description": "Refund timestamp.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "timestamp"
        ],
        "type": "object"
      },
      "ol_RefundReasonV3": {
        "description": "Refund reason information.",
        "properties": {
          "code": {
            "description": "Reason code for refund.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "description": {
            "description": "Reason description.",
            "maxLength": 200,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_RegulatoryReportDetailsV3": {
        "description": "Regulatory reporting transaction details.",
        "properties": {
          "fincen_details": {
            "$ref": "#/components/schemas/ol_FincenDetailsV3"
          },
          "transaction_location_external_identifier": {
            "description": "Your unique identifier for the Transaction Location.",
            "example": "MyLocationIdentifier",
            "maxLength": 512,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_RemittanceCreditorV3": {
        "description": "Represents the creditor in a remittance transaction.",
        "properties": {
          "cash_pickup": {
            "$ref": "#/components/schemas/ol_CashPickupDetailsV3"
          },
          "details": {
            "$ref": "#/components/schemas/ol_PartyIdentificationV3"
          }
        },
        "required": [
          "details"
        ],
        "type": "object"
      },
      "ol_RemittanceMonetaryTransactionTypeDetailsV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_MonetaryTransactionTypeDetailsV3"
          },
          {
            "properties": {
              "agents": {
                "description": "Any intermediaries involved in the transaction between the creditor and the debtor.",
                "items": {
                  "$ref": "#/components/schemas/ol_AgentV3"
                },
                "maxItems": 10,
                "minItems": 0,
                "type": "array"
              },
              "collection_method": {
                "$ref": "#/components/schemas/ol_RemittancePaymentMethodV3"
              },
              "creditor": {
                "$ref": "#/components/schemas/ol_RemittanceCreditorV3"
              },
              "debtor": {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              },
              "payment_scheme": {
                "$ref": "#/components/schemas/ol_PaymentSchemeV3"
              },
              "purpose_of_payment": {
                "$ref": "#/components/schemas/ol_RemittancePurposeV3"
              },
              "purpose_of_payment_details": {
                "description": "Free-text details about the purpose of the remittance payment.",
                "maxLength": 50,
                "minLength": 0,
                "type": "string"
              },
              "relationship": {
                "$ref": "#/components/schemas/ol_RemittanceRelationshipV3"
              },
              "service_provider": {
                "$ref": "#/components/schemas/ol_RemittanceServiceProviderV3"
              },
              "source_of_funds": {
                "$ref": "#/components/schemas/ol_RemittanceSourceOfFundsV3"
              },
              "source_of_funds_details": {
                "description": "Free-text details about the source of funds for the remittance transfer.",
                "maxLength": 50,
                "minLength": 0,
                "type": "string"
              },
              "source_payment_method": {
                "$ref": "#/components/schemas/ol_RemittancePaymentMethodV3"
              },
              "ultimate_creditor": {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              },
              "ultimate_debtor": {
                "$ref": "#/components/schemas/ol_PartyIdentificationV3"
              }
            },
            "type": "object"
          }
        ],
        "description": "Models a cross-border remittance payment transaction between parties in different countries.",
        "required": [
          "creditor",
          "debtor",
          "type"
        ],
        "title": "Remittance Details",
        "type": "object"
      },
      "ol_RemittancePaymentMethodV3": {
        "description": "The payment method used for remittance transactions.",
        "enum": [
          "CASH",
          "CREDIT_CARD",
          "DEBIT_CARD",
          "BANK_TRANSFER",
          "MOBILE_WALLET",
          "PREPAID_CARD",
          "CHEQUE",
          "CRYPTOCURRENCY",
          "GIFT_CARD",
          "POSTAL_ORDER",
          "BARTER",
          "OTHER",
          "CARD",
          "COMBINED_MULTIPLE",
          "CASH_DEPOSIT",
          "CASH_WITHDRAWAL",
          "CASH_AT_AGENT",
          "CASH_AT_MERCHANT",
          "INSTANT_BANK_TRANSFER",
          "WIRE_TRANSFER",
          "DIRECT_DEBIT",
          "STABLECOIN",
          "CBDC",
          "CARD_PUSH_PAYMENT",
          "MOBILE_MONEY",
          "VOUCHER"
        ],
        "example": "CASH",
        "type": "string"
      },
      "ol_RemittancePurposeV3": {
        "description": "The purpose of the remittance payment.",
        "enum": [
          "FAMILY_SUPPORT",
          "EDUCATION",
          "MEDICAL",
          "BUSINESS",
          "PROPERTY",
          "EMERGENCY",
          "SAVINGS",
          "GIFT",
          "TRAVEL",
          "DEBT_REPAYMENT",
          "PURCHASE",
          "SALARY",
          "RENT",
          "OTHER",
          "TAXES",
          "UTILITIES",
          "INSURANCE_PREMIUM",
          "INVESTMENT",
          "CHARITY_DONATION",
          "GOVERNMENT_PAYMENT",
          "LOAN_DISBURSEMENT",
          "LOAN_REPAYMENT",
          "PENSION",
          "DIVIDEND",
          "ROYALTIES",
          "LEGAL_SETTLEMENT",
          "TRADE_GOODS_IMPORT",
          "TRADE_GOODS_EXPORT",
          "TRADE_SERVICES",
          "WAGES",
          "INTRA_COMPANY",
          "CARD_REPAYMENT",
          "MORTGAGE_PAYMENT",
          "ALIMONY",
          "CHILD_SUPPORT",
          "REFUND",
          "COMMISSION",
          "CRYPTO_PURCHASE",
          "CRYPTO_SALE",
          "FOREIGN_EXCHANGE"
        ],
        "type": "string"
      },
      "ol_RemittanceRelationshipV3": {
        "description": "The relationship between the sender and receiver in a remittance transaction.",
        "enum": [
          "SPOUSE",
          "FAMILY",
          "FRIEND",
          "BUSINESS_PARTNER",
          "EMPLOYEE",
          "OTHER",
          "SELF",
          "CHILD",
          "PARENT",
          "SIBLING",
          "EMPLOYER",
          "CHARITY",
          "CLIENT",
          "SUPPLIER",
          "LENDER",
          "UNKNOWN"
        ],
        "type": "string"
      },
      "ol_RemittanceServiceProviderTypeV3": {
        "description": "The type of service provider facilitating the remittance transaction.",
        "enum": [
          "TRADITIONAL_BANK",
          "MONEY_TRANSFER_OPERATOR",
          "DIGITAL_PLATFORM",
          "ONLINE_PAYMENT_SERVICE",
          "MOBILE_MONEY_SERVICE",
          "CRYPTOCURRENCY_PLATFORM",
          "NEOBANK",
          "OTHER"
        ],
        "example": "MONEY_TRANSFER_OPERATOR",
        "type": "string"
      },
      "ol_RemittanceServiceProviderV3": {
        "description": "Represents a remittance service provider's details.",
        "properties": {
          "identifier": {
            "description": "The unique identifier for the remittance service provider.",
            "example": "RSP-12345",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "The name of the remittance service provider.",
            "example": "Western Union",
            "maxLength": 256,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_RemittanceServiceProviderTypeV3"
              }
            ]
          }
        },
        "type": "object"
      },
      "ol_RemittanceSourceOfFundsV3": {
        "description": "The source of funds for the remittance transaction.",
        "enum": [
          "SALARY",
          "BUSINESS_INCOME",
          "SAVINGS",
          "INVESTMENTS",
          "PENSION",
          "LOAN",
          "GIFT",
          "INHERITANCE",
          "ASSET_SALE",
          "INSURANCE_PAYOUT",
          "GOVERNMENT_BENEFITS",
          "TRUST_DISTRIBUTION",
          "CRYPTO_LIQUIDATION",
          "CROWDFUNDING",
          "GAMBLING_WINNINGS",
          "OTHER",
          "WAGES_SELF_EMPLOYMENT",
          "RENTAL_INCOME",
          "ROYALTIES",
          "DIVIDENDS_AND_INTEREST",
          "MATURED_INVESTMENTS",
          "MATURED_INSURANCE_POLICY",
          "LEGAL_SETTLEMENT",
          "LOTTERY_OR_PRIZE",
          "EXPORT_OF_GOODS",
          "SALE_OF_BUSINESS",
          "SALE_OF_PROPERTY",
          "STIPEND_OR_SCHOLARSHIP",
          "ALIMONY_OR_CHILD_SUPPORT",
          "RESEARCH_GRANT",
          "COMPENSATION_PAYMENT"
        ],
        "type": "string"
      },
      "ol_ResidentialInformation": {
        "properties": {
          "country_of_residence": {
            "enum": [
              "AF",
              "AX",
              "AL",
              "AN",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "SZ",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "MK",
              "RO",
              "RU",
              "RW",
              "RE",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "UM",
              "US",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "XK",
              "XT",
              "XX",
              "YE",
              "ZM",
              "ZW"
            ],
            "format": "iso-3166-alpha-2",
            "nullable": true,
            "type": "string"
          },
          "residential_status": {
            "enum": [
              "RESIDENT",
              "PERMANENT_RESIDENT",
              "NON_RESIDENT",
              "TAX_RESIDENT",
              "TEMPORARY_RESIDENT",
              "VISITOR",
              "STATELESS",
              "REFUGEE",
              "DIGITAL_NOMAD",
              "DUAL_RESIDENT",
              "ASYLUM_SEEKER"
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_ReversalInfoV3": {
        "description": "Reversal information.",
        "properties": {
          "identifier": {
            "description": "Unique reversal identifier.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "timestamp": {
            "description": "Reversal timestamp.",
            "format": "date-time",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ol_MonetaryValueV3"
          }
        },
        "required": [
          "timestamp",
          "value"
        ],
        "type": "object"
      },
      "ol_Salary": {
        "properties": {
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_LongRange"
              }
            ]
          },
          "currency": {
            "enum": [
              "AFN",
              "EUR",
              "ALL",
              "DZD",
              "USD",
              "AOA",
              "XCD",
              "XXX",
              "ARS",
              "AMD",
              "AWG",
              "AUD",
              "AZN",
              "BSD",
              "BHD",
              "BDT",
              "BBD",
              "BYN",
              "BZD",
              "XOF",
              "BMD",
              "INR",
              "BTN",
              "BOB",
              "BOV",
              "BAM",
              "BWP",
              "NOK",
              "BRL",
              "BND",
              "BGN",
              "BIF",
              "CVE",
              "KHR",
              "XAF",
              "CAD",
              "KYD",
              "CLP",
              "CLF",
              "CNY",
              "COP",
              "COU",
              "KMF",
              "CDF",
              "NZD",
              "CRC",
              "CUP",
              "CUC",
              "ANG",
              "CZK",
              "DKK",
              "DJF",
              "DOP",
              "EGP",
              "SVC",
              "ERN",
              "SZL",
              "ETB",
              "FKP",
              "FJD",
              "XPF",
              "GMD",
              "GEL",
              "GHS",
              "GIP",
              "GTQ",
              "GBP",
              "GNF",
              "GYD",
              "HTG",
              "HNL",
              "HKD",
              "HUF",
              "ISK",
              "IDR",
              "XDR",
              "IRR",
              "IQD",
              "ILS",
              "JMD",
              "JPY",
              "JOD",
              "KZT",
              "KES",
              "KPW",
              "KRW",
              "KWD",
              "KGS",
              "LAK",
              "LBP",
              "LSL",
              "ZAR",
              "LRD",
              "LYD",
              "CHF",
              "MOP",
              "MKD",
              "MGA",
              "MWK",
              "MYR",
              "MVR",
              "MRU",
              "MUR",
              "XUA",
              "MXN",
              "MXV",
              "MDL",
              "MNT",
              "MAD",
              "MZN",
              "MMK",
              "NAD",
              "NPR",
              "NIO",
              "NGN",
              "OMR",
              "PKR",
              "PAB",
              "PGK",
              "PYG",
              "PEN",
              "PHP",
              "PLN",
              "QAR",
              "RON",
              "RUB",
              "RWF",
              "SHP",
              "WST",
              "STN",
              "SAR",
              "RSD",
              "SCR",
              "SLL",
              "SLE",
              "SGD",
              "XSU",
              "SBD",
              "SOS",
              "SSP",
              "LKR",
              "SDG",
              "SRD",
              "SEK",
              "CHE",
              "CHW",
              "SYP",
              "TWD",
              "TJS",
              "TZS",
              "THB",
              "TOP",
              "TTD",
              "TND",
              "TRY",
              "TMT",
              "UGX",
              "UAH",
              "AED",
              "USN",
              "UYU",
              "UYI",
              "UYW",
              "UZS",
              "VUV",
              "VES",
              "VED",
              "VND",
              "YER",
              "ZMW",
              "ZWL",
              "XBA",
              "XBB",
              "XBC",
              "XBD",
              "XTS",
              "XAU",
              "XPD",
              "XPT",
              "XAG"
            ],
            "format": "iso-4217",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ol_ScenarioConfigurationEvaluationDTO": {
        "properties": {
          "evaluation_result_delivery": {
            "$ref": "#/components/schemas/ol_EvaluationResultDeliveryResponseDTO"
          },
          "outcome": {
            "enum": [
              "UNSPECIFIED",
              "ALLOW",
              "HOLD",
              "PROCESS",
              "ERROR",
              "PENDING"
            ],
            "type": "string"
          },
          "processing_method": {
            "enum": [
              "SYNCHRONOUS",
              "ASYNCHRONOUS"
            ],
            "type": "string"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/ol_ScenarioEvaluationDTO"
            },
            "type": "array",
            "uniqueItems": true
          },
          "scenario_configuration_identifier": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "outcome",
          "processing_method",
          "results",
          "scenario_configuration_identifier"
        ],
        "type": "object"
      },
      "ol_ScenarioEvaluationDTO": {
        "properties": {
          "error": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_EvaluationErrorDTO"
              }
            ]
          },
          "outcome": {
            "description": "The outcome of the scenario evaluation:- **HOLD**: A case will be open and the transaction should not be released until remediation of the case- **ALLOW**: A case will be open but the transaction can be released- **PROCESS**: The scenario did not identify a risk for the transaction- **ERROR**: The scenario could not be evaluated successfully. See errorDetails for more information",
            "enum": [
              "UNSPECIFIED",
              "ALLOW",
              "HOLD",
              "PROCESS",
              "ERROR",
              "PENDING"
            ],
            "example": "ALLOW",
            "type": "string"
          },
          "priority": {
            "description": "Priority 1 is the highest while 9 is the lowest.Note: The priority is not set if the scenario did not find a risk",
            "format": "int32",
            "maximum": 9,
            "minimum": 1,
            "nullable": true,
            "type": "integer"
          },
          "scenario_identifier": {
            "description": "Identifier of the scenario the evaluation is based on",
            "example": "e15352e0-b707-4d0b-a526-2a1092202ad4",
            "format": "uuid",
            "type": "string"
          },
          "scenario_name": {
            "description": "The scenario name is usually populated unless it was not available in our evaluation engine",
            "example": "Payment Limit - Outbound",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "outcome",
          "scenario_identifier"
        ],
        "type": "object"
      },
      "ol_SettlementInfoV3": {
        "description": "Settlement information.",
        "properties": {
          "timestamp": {
            "description": "Settlement timestamp.",
            "example": "2024-01-16T08:15:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "value": {
            "$ref": "#/components/schemas/ol_MonetaryValueV3"
          }
        },
        "required": [
          "timestamp",
          "value"
        ],
        "type": "object"
      },
      "ol_StructuredAddressV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_AddressV3"
          },
          {
            "properties": {
              "address_line1": {
                "description": "The first line of the address.",
                "example": "123 Main St",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              },
              "address_line2": {
                "description": "The second line of the address.",
                "example": "Apt 4B",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              },
              "address_type": {
                "$ref": "#/components/schemas/ol_AddressTypeV3"
              },
              "country": {
                "description": "2 letter country code as defined by iso-3166-alpha-2.",
                "example": "GB",
                "format": "iso-3166-alpha-2",
                "pattern": "^([A-Z]{2})?$",
                "type": "string"
              },
              "country_subdivision": {
                "description": "The country subdivision (e.g., state, province).",
                "example": "Greater London",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              },
              "postal_code": {
                "description": "The postal code of the address.",
                "example": "SW1A 0AA",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              },
              "town_name": {
                "description": "The town or city name.",
                "example": "London",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Represents a structured address with detailed components.",
        "required": [
          "format"
        ],
        "title": "Structured Address",
        "type": "object"
      },
      "ol_TextEnrichmentValueV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_EnrichmentValueV3"
          },
          {
            "properties": {
              "text": {
                "description": "The text content.",
                "example": "HIGH",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "String representation of the enrichment value.",
        "required": [
          "data_type",
          "text"
        ],
        "title": "Text Value",
        "type": "object"
      },
      "ol_TextValue": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_CustomFieldValue"
          },
          {
            "properties": {
              "text": {
                "description": "The text content.",
                "example": "Text Field Value",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Text representation of the custom field value.",
        "required": [
          "data_type",
          "text"
        ],
        "type": "object"
      },
      "ol_TextValueV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_CustomFieldValueV3"
          },
          {
            "properties": {
              "text": {
                "description": "The text content.",
                "example": "Text Field Value",
                "maxLength": 256,
                "minLength": 0,
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "String representation of the custom field value.",
        "required": [
          "data_type",
          "text"
        ],
        "title": "Text Value",
        "type": "object"
      },
      "ol_TransactionClassificationDetailsV3": {
        "description": "Details specific to the Transaction classification.",
        "discriminator": {
          "propertyName": "classification"
        },
        "properties": {
          "classification": {
            "$ref": "#/components/schemas/ol_TransactionClassificationV3"
          }
        },
        "required": [
          "classification"
        ],
        "type": "object"
      },
      "ol_TransactionClassificationV3": {
        "description": "Classifies a transaction as a specific high-level class of transaction.",
        "enum": [
          "MONETARY"
        ],
        "example": "MONETARY",
        "type": "string"
      },
      "ol_TransactionIdentifierDTO": {
        "properties": {
          "external_identifier": {
            "type": "string"
          }
        },
        "required": [
          "external_identifier"
        ],
        "type": "object"
      },
      "ol_TransactionResponseDTO": {
        "properties": {
          "evaluation_result": {
            "$ref": "#/components/schemas/ol_EvaluationResultDTO"
          },
          "transaction": {
            "$ref": "#/components/schemas/ol_TransactionIdentifierDTO"
          }
        },
        "required": [
          "evaluation_result",
          "transaction"
        ],
        "type": "object"
      },
      "ol_TransactionScreeningEvaluationDTO": {
        "properties": {
          "error": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_EvaluationErrorDTO"
              }
            ]
          },
          "outcome": {
            "enum": [
              "UNKNOWN",
              "PROCESS",
              "HOLD",
              "REJECT",
              "ALLOW",
              "SKIPPED"
            ],
            "type": "string"
          },
          "payment_screening_configuration_identifier": {
            "format": "uuid",
            "type": "string"
          },
          "processing_method": {
            "enum": [
              "SYNCHRONOUS",
              "ASYNCHRONOUS"
            ],
            "type": "string"
          }
        },
        "required": [
          "outcome",
          "payment_screening_configuration_identifier",
          "processing_method"
        ],
        "type": "object"
      },
      "ol_TransactionV3": {
        "description": "Represents a Transaction performed by a Customer. A Transaction can be either monetary or non-monetary.",
        "properties": {
          "custom_fields": {
            "description": "A list of custom fields attached to the Transaction.",
            "items": {
              "$ref": "#/components/schemas/ol_CustomFieldV3"
            },
            "maxItems": 10,
            "minItems": 0,
            "nullable": true,
            "type": "array"
          },
          "customer_external_identifier": {
            "description": "Your unique identifier for customer that the Transaction is associated with. We will populate this after mapping your customer identifier to ours as we process your Transaction.",
            "example": "MyUniqueCustomerReference",
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          },
          "customer_identifier": {
            "description": "Our unique identifier for customer that the Transaction is associated with. We will populate this after mapping your customer identifier to ours as we process your Transaction.",
            "example": "0195fb35-4793-7bb5-8042-e4371640d176",
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "details": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ol_MonetaryTransactionClassificationDetailsV3"
              }
            ]
          },
          "enrichments": {
            "description": "A list of enrichments applied to the Transaction.",
            "items": {
              "$ref": "#/components/schemas/ol_EnrichmentV3"
            },
            "nullable": true,
            "readOnly": true,
            "type": "array"
          },
          "evaluation_outcome": {
            "description": "The combined outcome of all transaction evaluations.",
            "enum": [
              "PENDING",
              "PROCESS",
              "ALLOW",
              "HOLD",
              "ERROR"
            ],
            "readOnly": true,
            "type": "string"
          },
          "external_identifier": {
            "description": "Your unique identifier for the Transaction. You will use this to reference the Transaction within our systems. This cannot be changed after submitting the Transaction.",
            "example": "MyUniqueIdentifier",
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          },
          "identifier": {
            "description": "Our unique identifier for your Transaction. We generate this when we process your Transaction and you are not able to specify it.",
            "format": "uuid",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "initiating_channel": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ol_AtmChannelV3"
              },
              {
                "$ref": "#/components/schemas/ol_DeviceChannelV3"
              }
            ]
          },
          "occurred_at": {
            "description": "The timestamp of the Transaction. This is the timestamp you want us to use as this transactions position in time for the purposes of risk analysis. This timestamp can contain offset information.",
            "example": "2025-04-03T03:32:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "product": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ol_LoanProductV3"
              }
            ]
          },
          "received_at": {
            "description": "The timestamp the Transaction event was received by us.",
            "example": "2025-04-03T11:32:00.000Z",
            "format": "date-time",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "regulatory_reporting_details": {
            "$ref": "#/components/schemas/ol_RegulatoryReportDetailsV3"
          },
          "review_decision": {
            "description": "Represents the states of review decision",
            "enum": [
              "NOT_APPLICABLE",
              "NOT_REVIEWED",
              "RELEASE",
              "REJECT"
            ],
            "readOnly": true,
            "type": "string"
          },
          "version": {
            "description": "The version of the transaction.",
            "example": 3,
            "format": "int32",
            "minimum": 1,
            "readOnly": true,
            "type": "integer"
          }
        },
        "required": [
          "customer_external_identifier",
          "customer_identifier",
          "details",
          "evaluation_outcome",
          "external_identifier",
          "occurred_at",
          "review_decision",
          "version"
        ],
        "type": "object"
      },
      "ol_UnstructuredAddressV3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ol_AddressV3"
          },
          {
            "properties": {
              "country": {
                "description": "An unstructured text representation of a country",
                "example": "Spain",
                "type": "string"
              },
              "local_details": {
                "description": "The local details of the address.",
                "example": "123 Main Street, London",
                "maxLength": 512,
                "minLength": 0,
                "type": "string"
              }
            },
            "type": "object"
          }
        ],
        "description": "Represents an unstructured address with local details and country.",
        "required": [
          "format"
        ],
        "title": "Unstructured Address",
        "type": "object"
      },
      "ol_VerificationCheckResultV3": {
        "description": "Represents the result of a verification check.",
        "enum": [
          "PASS",
          "FAIL",
          "UNAVAILABLE",
          "UNCHECKED"
        ],
        "example": "PASS",
        "type": "string"
      },
      "ol_VerificationCheckV3": {
        "description": "Represents a verification check with result and optional description.",
        "properties": {
          "description": {
            "description": "Human-readable verification check description.",
            "example": "Address and ZIP code match",
            "maxLength": 200,
            "minLength": 0,
            "nullable": true,
            "type": "string"
          },
          "result": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ol_VerificationCheckResultV3"
              }
            ]
          }
        },
        "type": "object"
      },
      "ol_VirtualAssetServiceProviderV3": {
        "description": "Type for storing VASP details.",
        "properties": {
          "name": {
            "description": "The name of the VASP.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "description": "HTTP Bearer Token Authentication",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "title": "Mesh API",
    "version": "v2.0"
  },
  "openapi": "3.0.3",
  "paths": {
    "/v3/transactions/process": {
      "post": {
        "description": "Creates a transaction and executes our payment screening and transaction monitoring processes. The response will indicate whether the transaction should be held or processed. Updates a transaction if a transaction with the same external_identifier, occurred_at, customer_external_identifier and details.type already exists but other data has changed. Supports updating existing transactions on the Synchronous Transaction Monitoring flow only; not supported for fast payment screening or async flows. This endpoint requires PAYMENT_SCREENING_BASE and/or TRANSACTION_MONITORING_BASE account permission depending on the configuration identifies supplied with the payload. When a customer is supplied in `customers`, its `external_identifier` is required. This endpoint does not generate one, unlike the customer creation endpoints, so a customer without it is rejected with a 400.",
        "operationId": "orchestrationLayerAPIPostV3TransactionProcess",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ol_CreateAndProcessTransactionDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "examples": {
                  "Transaction with configurations array (ASYNC TM with PENDING outcome)": {
                    "description": "Transaction with configurations array (ASYNC TM with PENDING outcome)",
                    "value": {
                      "evaluation_result": {
                        "errors": [],
                        "outcome": "PROCESS",
                        "scenario_evaluations": [
                          {
                            "evaluation_result_delivery": {
                              "method": "WEBHOOK",
                              "webhook_identifier": "03edb86e-5b3e-444e-9727-08d92b442b59"
                            },
                            "outcome": "PENDING",
                            "processing_method": "ASYNCHRONOUS",
                            "results": [],
                            "scenario_configuration_identifier": "01973ffe-b3db-76b4-a114-9c2f1746f6d5"
                          }
                        ],
                        "screening_evaluation_results": {
                          "outcome": "PROCESS",
                          "payment_screening_configuration_identifier": "01974000-0e58-79c3-b4c8-755c1a00daea",
                          "processing_method": "SYNCHRONOUS"
                        }
                      },
                      "transaction": {
                        "external_identifier": "TXN-004-2023-22222"
                      }
                    }
                  },
                  "Transaction with monitoring only (ALLOW outcome)": {
                    "description": "Transaction with monitoring only (ALLOW outcome)",
                    "value": {
                      "evaluation_result": {
                        "errors": [],
                        "outcome": "ALLOW",
                        "scenario_evaluations": [
                          {
                            "outcome": "ALLOW",
                            "processing_method": "SYNCHRONOUS",
                            "results": [
                              {
                                "outcome": "ALLOW",
                                "priority": 2,
                                "scenario_identifier": "01973ffe-9792-7666-aaa7-2f84aa243eac",
                                "scenario_name": "Velocity Check"
                              }
                            ],
                            "scenario_configuration_identifier": "01973ffe-b3db-76b4-a114-9c2f1746f6d5"
                          }
                        ]
                      },
                      "transaction": {
                        "external_identifier": "TXN-003-2023-11111"
                      }
                    }
                  },
                  "Transaction with screening and monitoring (HOLD outcome)": {
                    "description": "Transaction with screening and monitoring (HOLD outcome)",
                    "value": {
                      "evaluation_result": {
                        "errors": [],
                        "outcome": "HOLD",
                        "scenario_evaluations": [
                          {
                            "outcome": "HOLD",
                            "processing_method": "SYNCHRONOUS",
                            "results": [
                              {
                                "outcome": "HOLD",
                                "priority": 1,
                                "scenario_identifier": "01973fff-adc2-738f-bb92-0ccf9848ddd8",
                                "scenario_name": "High Value Transaction Monitoring"
                              },
                              {
                                "outcome": "ALLOW",
                                "priority": 3,
                                "scenario_identifier": "01973ffe-f268-7460-bf21-24ce26389d23",
                                "scenario_name": "Unusual Pattern Detection"
                              }
                            ],
                            "scenario_configuration_identifier": "01973fff-c779-7b50-b72d-f703cfad96b8"
                          }
                        ],
                        "screening_evaluation_results": {
                          "outcome": "PROCESS",
                          "payment_screening_configuration_identifier": "01973fff-de4e-795c-9265-a00596f88cbf",
                          "processing_method": "SYNCHRONOUS"
                        }
                      },
                      "transaction": {
                        "external_identifier": "TXN-002-2023-67890"
                      }
                    }
                  },
                  "Transaction with screening only (PROCESS outcome)": {
                    "description": "Transaction with screening only (PROCESS outcome)",
                    "value": {
                      "evaluation_result": {
                        "errors": [],
                        "outcome": "PROCESS",
                        "scenario_evaluations": [],
                        "screening_evaluation_results": {
                          "outcome": "PROCESS",
                          "payment_screening_configuration_identifier": "01974000-0e58-79c3-b4c8-755c1a00daea",
                          "processing_method": "SYNCHRONOUS"
                        }
                      },
                      "transaction": {
                        "external_identifier": "TXN-001-2023-12345"
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ol_TransactionResponseDTO"
                }
              }
            },
            "description": "Transaction successfully processed"
          },
          "400": {
            "content": {
              "application/json": {
                "examples": {
                  "Customer supplied without an external identifier": {
                    "description": "Customer supplied without an external identifier",
                    "value": {
                      "identifier": "01974027-c411-7a92-b83d-5f1e2c440188",
                      "status": 400,
                      "timestamp": "2026-09-03T09:35:06.677Z",
                      "title": "customer.external_identifier is required"
                    }
                  },
                  "Invalid configurations array - PS cannot be ASYNCHRONOUS": {
                    "description": "Invalid configurations array - PS cannot be ASYNCHRONOUS",
                    "value": {
                      "detail": "Configuration validation failed",
                      "errors": [
                        {
                          "field": "configurations",
                          "reasons": [
                            {
                              "message": "Asynchronous payment screening is not supported",
                              "reason": "invalid"
                            }
                          ],
                          "value": null
                        }
                      ],
                      "identifier": "01974025-5d6b-732c-ba71-a7cb6e98907f",
                      "status": 400,
                      "timestamp": "2025-05-14T09:30:04.201Z",
                      "title": "Validation Error"
                    }
                  },
                  "Invalid screening configuration": {
                    "description": "Invalid screening configuration",
                    "value": {
                      "detail": "Invalid Screening Configuration Identifier",
                      "errors": [
                        {
                          "field": "screening_configuration_identifier",
                          "reasons": [
                            {
                              "message": "Missing or archived screening configuration identifier provided",
                              "reason": "missing_or_invalid"
                            }
                          ],
                          "value": "01974025-3d4b-7980-849b-470fa8fd096a"
                        }
                      ],
                      "identifier": "01974025-5d6b-732c-ba71-a7cb6e98907f",
                      "status": 400,
                      "timestamp": "2025-05-14T09:30:04.201Z",
                      "title": "Validation Error"
                    }
                  },
                  "Synchronous PS combined with synchronous fraud-only TM is not supported": {
                    "description": "Synchronous PS combined with synchronous fraud-only TM is not supported",
                    "value": {
                      "detail": "Synchronous payment screening combined with synchronous fraud-only transaction monitoring is not yet supported. You can move the transaction monitoring configuration to asynchronous processing, until this combination is supported.",
                      "identifier": "01974025-8f2a-7c1d-9e3b-6d4a5f8c2b91",
                      "status": 400,
                      "timestamp": "2025-05-14T09:30:04.201Z",
                      "title": "Bad Request"
                    }
                  },
                  "Synchronous and asynchronous transaction monitoring cannot be combined": {
                    "description": "Synchronous and asynchronous transaction monitoring cannot be combined",
                    "value": {
                      "detail": "Synchronous and asynchronous transaction monitoring configurations cannot be combined in the same request, regardless of whether the synchronous configuration is fraud-only. You can move all transaction monitoring configurations to the same processing method (synchronous or asynchronous) until this combination is supported.",
                      "identifier": "01974025-a1b3-7e5f-8c2d-9f4b6a7d3e10",
                      "status": 400,
                      "timestamp": "2026-08-21T09:30:04.201Z",
                      "title": "Bad Request"
                    }
                  },
                  "Transaction external identifier too long": {
                    "description": "Transaction external identifier too long",
                    "value": {
                      "detail": "There were validation errors with your request",
                      "errors": [
                        {
                          "field": "transaction.external_identifier",
                          "reasons": [
                            {
                              "message": "size must be between 0 and 512",
                              "reason": "reason"
                            }
                          ],
                          "value": "very_long_transaction_identifier_that_exceeds_maximum_length..."
                        }
                      ],
                      "identifier": "01974025-94a5-788c-b4a3-513127210fd0",
                      "status": 400,
                      "timestamp": "2023-12-11T09:30:05.975Z",
                      "title": "Validation Error"
                    }
                  },
                  "Unknown customer": {
                    "description": "Unknown customer",
                    "value": {
                      "errors": [
                        {
                          "field": "customer_external_identifier",
                          "reasons": [
                            {
                              "message": "The provided customer could not be found: unknown-customer-id-12345",
                              "reason": "missing"
                            }
                          ],
                          "value": "unknown-customer-id-12345"
                        }
                      ],
                      "identifier": "01974027-9600-7b78-a07f-798f1a211073",
                      "status": 400,
                      "timestamp": "2024-12-11T09:35:06.677Z",
                      "title": "Customer not found in our system"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ol_ProblemDetailErrorResponse"
                }
              }
            },
            "description": "Validation Error"
          },
          "409": {
            "content": {
              "application/json": {
                "examples": {
                  "Duplicate Transaction": {
                    "description": "Duplicate Transaction",
                    "value": {
                      "detail": "Transaction with external identifier 'TXN-DUPLICATE-123' already exists",
                      "errors": [
                        {
                          "field": "transaction.external_identifier",
                          "reasons": [
                            {
                              "message": "A transaction with this external identifier already exists",
                              "reason": "duplicate"
                            }
                          ],
                          "value": "TXN-DUPLICATE-123"
                        }
                      ],
                      "identifier": "01974024-d616-758c-aded-3c07eaa32c3b",
                      "status": 409,
                      "timestamp": "2023-12-11T09:30:10.975Z",
                      "title": "Duplicate Transaction"
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ol_ProblemDetailErrorResponse"
                }
              }
            },
            "description": "Duplicate Transaction"
          }
        },
        "summary": "Create and process a transaction",
        "tags": [
          "Transactions"
        ]
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "servers": [
    {
      "description": "ComplyAdvantage Mesh API",
      "url": "https://api.mesh.complyadvantage.com"
    }
  ],
  "tags": [
    {
      "name": "Transactions"
    }
  ]
}
```