---
title: "Create and process a transaction"
method: POST
path: "/v3/transactions/process"
tags: ["Transactions"]
---

# Create and process a transaction

`POST /v3/transactions/process`

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.

## Request body

- OlCreateAndProcessTransactionDTO
  - `configurations` OlConfigurationDTO[], nullable — Optional array specifying sync/async processing configuration for Payment Screening and Transaction Monitoring.
    - `evaluation_result_delivery` OlEvaluationResultDeliveryDTO — Optional. Specifies how to deliver async evaluation results. Only valid when `processing_method` is `ASYNCHRONOUS` and `type` is `TRANSACTION_MONITORING`.
      - `method` 'WEBHOOK', required — The delivery method. Currently only `WEBHOOK` is supported.
      - `webhook_identifier` string, uuid, required — The `identifier` of a webhook configuration created via `POST /v2/notifications/configurations/webhook` with `type: TRANSACTION_MONITORING_ASYNC_COMPLETED`.
    - `identifiers` string[], required — The scenario configuration identifiers to evaluate the transaction against.
    - `processing_method` 'SYNCHRONOUS' | 'ASYNCHRONOUS', required — `SYNCHRONOUS` returns results inline. `ASYNCHRONOUS` returns `PENDING` immediately and delivers results later via webhook.
    - `type` 'PAYMENT_SCREENING' | 'TRANSACTION_MONITORING', required — The type of processing configuration. Use `TRANSACTION_MONITORING` for TM scenarios.
  - `customers` OlCustomerApi[], nullable — The list of customers.
    - `acquisition_source` string, nullable
    - `company` OlCompany
      - `address` OlAddress[], nullable
        - `address_line1` string, nullable
        - `address_line2` string, nullable
        - `country` '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', iso-3166-alpha-2, nullable
        - `country_subdivision` string, nullable
        - `postal_code` string, nullable
        - `town_name` string, nullable
        - `type` 'RESIDENTIAL_ADDRESS' | 'MAILING_ADDRESS' | 'OPERATING_ADDRESS' | 'REGISTRATION_ADDRESS' | 'BILLING_ADDRESS', nullable
      - `alias` string[], nullable
      - `company_type` string, nullable
      - `custom_fields` OlCustomFieldInstance[], nullable
        - `key` string, required — The key of the custom field.
        - `value` union, required
          - OlDateValue — Date representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `date` string, date, required — The date content.
          - OlDatetimeValue — Datetime representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `datetime` string, date-time, required — The datetime content.
          - OlDecimalValue — Decimal representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `decimal` number, required — The decimal value
          - OlIntegerValue — Integer representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `integer` integer, required — The integer content.
          - OlTextValue — Text representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `text` string, required — The text content.
      - `incorporation_date` OlDate
        - `day` integer, nullable
        - `month` integer, nullable
        - `year` integer, nullable
      - `industry` string, nullable
      - `industry_codes` OlIndustryCode[], nullable
        - `code` string, required — The alphanumeric value of the industry code, aligning to the Industry Code Type
        - `description` string, nullable — The description of the industry code
        - `is_primary` boolean, required — Flag to indicate if this code is the customer's main line of business
        - `type` string, required — The standard being used i.e. NAICS, SIC, SIC2007_1, NACE, etc.
      - `legal_name` string, required
      - `place_of_registration` string, iso-3166-2, nullable
      - `registration_authority_identification` string, nullable
      - `source_of_income` string, nullable
      - `status_summary` 'UNKNOWN' | 'ACTIVE' | 'INACTIVE', nullable
    - `customer_since` OlDate
      - `day` integer, nullable
      - `month` integer, nullable
      - `year` integer, nullable
    - `external_identifier` string, nullable
    - `person` OlPerson
      - `address` OlAddress[], nullable
        - `address_line1` string, nullable
        - `address_line2` string, nullable
        - `country` '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', iso-3166-alpha-2, nullable
        - `country_subdivision` string, nullable
        - `postal_code` string, nullable
        - `town_name` string, nullable
        - `type` 'RESIDENTIAL_ADDRESS' | 'MAILING_ADDRESS' | 'OPERATING_ADDRESS' | 'REGISTRATION_ADDRESS' | 'BILLING_ADDRESS', nullable
      - `contact_information` OlContactInformation
        - `email_address` string[], nullable — Valid email format: local-part@domain.tld (e.g., 'user@example.com'). TLD must be 2+ letters.
        - `fax_number` string[], nullable
        - `phone_number` string[], nullable
        - `url` string[], nullable — 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, '=', '&', '%'.
      - `country_of_birth` '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', iso-3166-alpha-2, nullable
      - `custom_fields` OlCustomFieldInstance[], nullable
        - `key` string, required — The key of the custom field.
        - `value` union, required
          - OlDateValue — Date representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `date` string, date, required — The date content.
          - OlDatetimeValue — Datetime representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `datetime` string, date-time, required — The datetime content.
          - OlDecimalValue — Decimal representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `decimal` number, required — The decimal value
          - OlIntegerValue — Integer representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `integer` integer, required — The integer content.
          - OlTextValue — Text representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `text` string, required — The text content.
      - `date_of_birth` OlDate
        - `day` integer, nullable
        - `month` integer, nullable
        - `year` integer, nullable
      - `fathers_name` string, nullable — Field to capture the patronymic name of the customer
      - `first_name` string, nullable
      - `full_name` string, nullable
      - `gender` 'MALE' | 'FEMALE' | 'NOT_KNOWN' | 'OTHER', nullable
      - `industry` string, nullable
      - `last_name` string, required
      - `middle_name` string, nullable
      - `mothers_name` string, nullable — Field to capture the matronymic name of the customer
      - `nationality` string[], nullable
      - `net_worth` OlNetWorth
        - `amount` integer, nullable
        - `currency` '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', iso-4217, nullable
      - `personal_identification` OlPersonalIdentification[], nullable
        - `date_of_expiry` OlDate
          - `day` integer, nullable
          - `month` integer, nullable
          - `year` integer, nullable
        - `date_of_issue` OlDate
          - `day` integer, nullable
          - `month` integer, nullable
          - `year` integer, nullable
        - `issuing_country` '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', iso-3166-alpha-2, nullable
        - `number` string, nullable
        - `type` 'SOCIAL_SECURITY_NUMBER' | 'DRIVING_LICENCE' | 'PASSPORT' | 'IDENTITY_CARD' | 'TAX_REGISTRATION' | 'ALIEN_IDENTIFICATION' | 'EMPLOYER_IDENTIFICATION' | 'OTHER', nullable
      - `profession` string[], nullable
      - `residential_information` OlResidentialInformation[], nullable
        - `country_of_residence` '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', iso-3166-alpha-2, nullable
        - `residential_status` 'RESIDENT' | 'PERMANENT_RESIDENT' | 'NON_RESIDENT' | 'TAX_RESIDENT', nullable
      - `salary` OlSalary
        - `amount` OlLongRange
          - `high` integer, required
          - `low` integer, required
        - `currency` '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', iso-4217, nullable
      - `source_of_income` string, nullable
      - `source_of_wealth` string, nullable
      - `suffix` string, nullable
      - `title` string, nullable
    - `undefined` OlCustomerTypeUndefined
      - `birth_year` integer, nullable
      - `country` string[], nullable
      - `custom_fields` OlCustomFieldInstance[], nullable
        - `key` string, required — The key of the custom field.
        - `value` union, required
          - OlDateValue — Date representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `date` string, date, required — The date content.
          - OlDatetimeValue — Datetime representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `datetime` string, date-time, required — The datetime content.
          - OlDecimalValue — Decimal representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `decimal` number, required — The decimal value
          - OlIntegerValue — Integer representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `integer` integer, required — The integer content.
          - OlTextValue — Text representation of the custom field value.
            - `data_type` 'TEXT' | 'INTEGER' | 'DECIMAL' | 'DATE' | 'DATETIME', required — The type of data stored in a custom field.
            - `text` string, required — The text content.
      - `name` string, required
  - `scenario_configuration_identifiers` string[], nullable — The list of scenario configurations the transaction should be monitored against.
  - `screening_configuration_identifier` string, uuid, nullable — The configuration identifier to be used to screening the transaction.
  - `transaction` OlTransactionV3, required — Represents a Transaction performed by a Customer. A Transaction can be either monetary or non-monetary.
    - `custom_fields` OlCustomFieldV3[], nullable — A list of custom fields attached to the Transaction.
      - `key` string, required — The key of the custom field.
      - `value` union, required
        - OlDecimalValueV3 — Decimal representation of the custom field value.
          - `data_type` 'TEXT' | 'DECIMAL', required — The type of data stored in a custom field.
          - `decimal` number, required — The decimal value
        - OlTextValueV3 — String representation of the custom field value.
          - `data_type` 'TEXT' | 'DECIMAL', required — The type of data stored in a custom field.
          - `text` string, required — The text content.
    - `customer_external_identifier` string, required — 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.
    - `customer_identifier` string, uuid, required — 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.
    - `details` OlMonetaryTransactionClassificationDetailsV3, required — Details related to a monetary transaction.
      - `classification` 'MONETARY', required — Classifies a transaction as a specific high-level class of transaction.
      - `base_value` OlMonetaryValueV3, required — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `customer_account_balance` OlAccountBalanceV3 — Represents the balance of a financial account.
        - `current_balance` OlMonetaryValueV3, required — Represents a combination of a decimal amount with a currency.
          - `amount` number, required — The decimal amount/value.
          - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
            - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
              - …
            - `symbol` string, nullable — Human friendly short symbol.
          - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
        - `current_base_balance` OlMonetaryValueV3 — Represents a combination of a decimal amount with a currency.
          - `amount` number, required — The decimal amount/value.
          - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
            - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
              - …
            - `symbol` string, nullable — Human friendly short symbol.
          - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `details` union, required
        - OlBankPaymentMonetaryTransactionTypeDetailsV3 — Models a transfer of funds from one bank account to another in a different financial institution.
          - `type` 'BANK_PAYMENT' | 'CARD_PAYMENT' | 'REMITTANCE' | 'CRYPTO', required — Defines the type of a monetary transaction.
          - `agents` OlAgentV3[] — Any intermediaries involved in the transaction between the creditor and the debtor.
            - `bank` OlBankV3 — Represents a bank's details.
              - …
            - `index` integer, nullable — The position of the agent in the list. Used to track the agent's order in the original sequence.
            - `money_transfer_operator` OlMoneyTransferOperatorV3 — Represents a money transfer operator's details.
              - …
            - `online_remittance_platform` OlOnlineRemittancePlatformV3 — Represents an online remittance platform's details.
              - …
            - `reference_text` string, nullable — The reference text supplied by an agent.
            - `role` 'COUNTERPARTY_BANK' | 'INTERMEDIARY' | 'DEBTOR_AGENT' | 'CREDITOR_AGENT', required — The roles an agent may take within a financial transaction.
            - `virtual_asset_service_provider` OlVirtualAssetServiceProviderV3 — Type for storing VASP details.
              - …
          - `creditor` OlPartyIdentificationV3, required — 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.
            - `address` union
              - …
            - `identifier` union
              - …
            - `name` string, nullable — The name of the party.
          - `debtor` OlPartyIdentificationV3, required — 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.
            - `address` union
              - …
            - `identifier` union
              - …
            - `name` string, nullable — The name of the party.
          - `payment_scheme` 'OTHER' | 'SWIFT' | 'SEPA' | 'SEPA_INSTANT' | 'FASTER_PAYMENTS' | 'CHAPS' | 'BACS' | 'FEDNOW', required — The payment scheme that was used to initiate the financial transaction.
          - `state` 'PENDING' | 'BOOKED', required — The possible states of a bank payment transaction.
          - `ultimate_creditor` OlPartyIdentificationV3 — 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.
            - `address` union
              - …
            - `identifier` union
              - …
            - `name` string, nullable — The name of the party.
          - `ultimate_debtor` OlPartyIdentificationV3 — 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.
            - `address` union
              - …
            - `identifier` union
              - …
            - `name` string, nullable — The name of the party.
        - OlCardPaymentMonetaryTransactionTypeDetailsV3 — Models a card payment transaction where funds are transferred using a payment card.
          - `type` 'BANK_PAYMENT' | 'CARD_PAYMENT' | 'REMITTANCE' | 'CRYPTO', required — Defines the type of a monetary transaction.
          - `acquirer` OlAcquirerV3 — Represents the payment acquirer information.
            - `details` OlPartyIdentificationV3 — 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.
              - …
            - `identifier` string, nullable — Unique acquirer identifier.
          - `card` OlPaymentCardV3 — Details about a payment card used in a transaction.
            - `fingerprint` string, required — Unique hashed card identifier for tracking.
            - `funding_type` 'CREDIT' | 'DEBIT' | 'PREPAID' | 'OTHER' — Defines the funding type of a payment card.
            - `wallet_identifier` string, nullable — Digital wallet identifier if applicable.
            - `wallet_type` 'GOOGLE_PAY' | 'APPLE_PAY' | 'PAYPAL' | 'REMOTE_COMMERCE_PROGRAMS' | 'OTHER' — Defines the type of digital wallet.
          - `card_holder` OlCardHolderV3 — Represents a card holder with party identification details and onboarding information.
            - `details` OlPartyIdentificationV3 — 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.
              - …
          - `card_payment_scope` 'DOMESTIC' | 'CROSSBORDER' — Defines the scope of a card payment transaction.
          - `card_payment_type` 'REGULAR' | 'INSTALLMENT' | 'RECURRING' | 'MOTO' | 'UNSCHEDULED' | 'TOP_UP' | 'REFUND' | 'OTHER' | 'AUTH_ONLY' — Defines the type of card payment.
          - `card_scheme` 'VISA' | 'MASTERCARD' | 'AMERICAN_EXPRESS' | 'DISCOVER' | 'JCB' | 'UNIONPAY' | 'DINERS_CLUB' | 'MAESTRO' | 'RUPAY' | 'MIR' — Represents the card scheme/network that issued the card.
          - `card_verification_results` OlCardVerificationResultsV3 — Represents card verification results including CVV, AVS, and identity checks.
            - `avs_check` OlVerificationCheckV3 — Represents a verification check with result and optional description.
              - …
            - `cvc_check` OlVerificationCheckV3 — Represents a verification check with result and optional description.
              - …
            - `three_d_secure_check` OlVerificationCheckV3 — Represents a verification check with result and optional description.
              - …
          - `issuer` OlIssuerV3 — Represents the card issuer information.
            - `bank_identification_number` string, nullable — Bank Identification Number (first 6-8 digits of card).
            - `details` OlPartyIdentificationV3 — 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.
              - …
          - `merchant` OlMerchantV3 — Represents merchant information.
            - `category_type` 'AGRICULTURAL_SERVICES' | 'CONTRACTED_SERVICES' | 'TRANSPORTATION_SERVICES' | 'UTILITY_SERVICES' | 'RETAIL_OUTLET_SERVICES' | 'CLOTHING_SHOPS' | 'MISCELLANEOUS_SHOPS' | 'BUSINESS_SERVICES' | 'PROFESSIONAL_SERVICES' | 'GOVERNMENT_SERVICES', nullable — Represents the category types for Merchant Category Codes based on industry code ranges.
            - `details` OlPartyIdentificationV3 — 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.
              - …
            - `mcc_category_code` string, nullable — 4-digit Merchant Category Code.
            - `mcc_code_description` string, nullable — Human-readable MCC description.
          - `payment_stage` 'AUTHORIZED' | 'SETTLED' | 'REVERSED' | 'PARTIALLY_SETTLED' | 'CHARGEBACK' — Defines the stage of a card payment transaction.
          - `payment_stages_info` OlPaymentStagesInfoV3 — Payment stages information.
            - `authorization` OlAuthorizationInfoV3 — Authorization information.
              - …
            - `chargeback` OlChargebackInfoV3 — Chargeback information.
              - …
            - `refund` OlRefundInfoV3 — Refund information.
              - …
            - `reversal` OlReversalInfoV3 — Reversal information.
              - …
            - `settlement` OlSettlementInfoV3 — Settlement information.
              - …
          - `point_of_sale` OlPointOfSaleConditionV3 — Contains contextual information about the card payment environment.
            - `condition` OlPointOfSaleConditionCodeV3 — Point of sale condition code and description
              - …
            - `entry_mode` OlPointOfSaleEntryModeV3 — Point of sale entry mode code and description
              - …
          - `related_transaction_identifier` string — Reference ID linking to parent/related transaction.
          - `sub_merchant` OlMerchantV3 — Represents merchant information.
            - `category_type` 'AGRICULTURAL_SERVICES' | 'CONTRACTED_SERVICES' | 'TRANSPORTATION_SERVICES' | 'UTILITY_SERVICES' | 'RETAIL_OUTLET_SERVICES' | 'CLOTHING_SHOPS' | 'MISCELLANEOUS_SHOPS' | 'BUSINESS_SERVICES' | 'PROFESSIONAL_SERVICES' | 'GOVERNMENT_SERVICES', nullable — Represents the category types for Merchant Category Codes based on industry code ranges.
            - `details` OlPartyIdentificationV3 — 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.
              - …
            - `mcc_category_code` string, nullable — 4-digit Merchant Category Code.
            - `mcc_code_description` string, nullable — Human-readable MCC description.
        - OlCryptoMonetaryTransactionTypeDetailsV3 — Crypto-specific transaction details.
          - `type` 'BANK_PAYMENT' | 'CARD_PAYMENT' | 'REMITTANCE' | 'CRYPTO', required — Defines the type of a monetary transaction.
          - `agents` OlAgentV3[], required — List of agents associated with a crypto transaction.
            - `bank` OlBankV3 — Represents a bank's details.
              - …
            - `index` integer, nullable — The position of the agent in the list. Used to track the agent's order in the original sequence.
            - `money_transfer_operator` OlMoneyTransferOperatorV3 — Represents a money transfer operator's details.
              - …
            - `online_remittance_platform` OlOnlineRemittancePlatformV3 — Represents an online remittance platform's details.
              - …
            - `reference_text` string, nullable — The reference text supplied by an agent.
            - `role` 'COUNTERPARTY_BANK' | 'INTERMEDIARY' | 'DEBTOR_AGENT' | 'CREDITOR_AGENT', required — The roles an agent may take within a financial transaction.
            - `virtual_asset_service_provider` OlVirtualAssetServiceProviderV3 — Type for storing VASP details.
              - …
          - `asset` OlCryptoAssetV3, required — The asset that was transacted.
            - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
              - …
            - `symbol` string, nullable — Human friendly short symbol.
          - `chain` OlBlockchainV3, required — Represents a blockchain network used for cryptocurrency transactions.
            - `identifier` OlCaip2IdentifierV3, required — The industry standard CAIP-2 Identifier for the blockchain (https://chainagnostic.org/CAIPs/caip-2)
              - …
            - `network_name` string, nullable — Human friendly chain name.
            - `network_type` 'MAIN' | 'TEST', required — Type of the blockchain network used in the transaction.
          - `creditor` OlCryptoPartyV3, required — Crypto specific Party data structure. Could be counterparty or customer. Follows the model of PartyIdentification type but with additional information.
            - `identification` OlPartyIdentificationV3, required — 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.
              - …
            - `wallet` OlCryptoWalletV3, required — Represents a cryptocurrency wallet involved in a transaction.
              - …
          - `debtor` OlCryptoPartyV3, required — Crypto specific Party data structure. Could be counterparty or customer. Follows the model of PartyIdentification type but with additional information.
            - `identification` OlPartyIdentificationV3, required — 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.
              - …
            - `wallet` OlCryptoWalletV3, required — Represents a cryptocurrency wallet involved in a transaction.
              - …
          - `destination_tag` string — Destination tag/memo identifying recipient.
          - `transaction_hash` string, required — Transaction blockchain hash ID.
        - OlRemittanceMonetaryTransactionTypeDetailsV3 — Models a cross-border remittance payment transaction between parties in different countries.
          - `type` 'BANK_PAYMENT' | 'CARD_PAYMENT' | 'REMITTANCE' | 'CRYPTO', required — Defines the type of a monetary transaction.
          - `agents` OlAgentV3[] — Any intermediaries involved in the transaction between the creditor and the debtor.
            - `bank` OlBankV3 — Represents a bank's details.
              - …
            - `index` integer, nullable — The position of the agent in the list. Used to track the agent's order in the original sequence.
            - `money_transfer_operator` OlMoneyTransferOperatorV3 — Represents a money transfer operator's details.
              - …
            - `online_remittance_platform` OlOnlineRemittancePlatformV3 — Represents an online remittance platform's details.
              - …
            - `reference_text` string, nullable — The reference text supplied by an agent.
            - `role` 'COUNTERPARTY_BANK' | 'INTERMEDIARY' | 'DEBTOR_AGENT' | 'CREDITOR_AGENT', required — The roles an agent may take within a financial transaction.
            - `virtual_asset_service_provider` OlVirtualAssetServiceProviderV3 — Type for storing VASP details.
              - …
          - `collection_method` 'CASH' | 'CREDIT_CARD' | 'DEBIT_CARD' | 'BANK_TRANSFER' | 'MOBILE_WALLET' | 'PREPAID_CARD' | 'CHEQUE' | 'CRYPTOCURRENCY' | 'GIFT_CARD' | 'POSTAL_ORDER' | 'BARTER' | 'OTHER' — The payment method used for remittance transactions.
          - `creditor` OlRemittanceCreditorV3, required — Represents the creditor in a remittance transaction.
            - `cash_pickup` OlCashPickupDetailsV3 — Represents cash pickup details for remittance transactions.
              - …
            - `details` OlPartyIdentificationV3, required — 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.
              - …
          - `debtor` OlPartyIdentificationV3, required — 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.
            - `address` union
              - …
            - `identifier` union
              - …
            - `name` string, nullable — The name of the party.
          - `payment_scheme` 'OTHER' | 'SWIFT' | 'SEPA' | 'SEPA_INSTANT' | 'FASTER_PAYMENTS' | 'CHAPS' | 'BACS' | 'FEDNOW' — The payment scheme that was used to initiate the financial transaction.
          - `purpose_of_payment` 'FAMILY_SUPPORT' | 'EDUCATION' | 'MEDICAL' | 'BUSINESS' | 'PROPERTY' | 'EMERGENCY' | 'SAVINGS' | 'GIFT' | 'TRAVEL' | 'DEBT_REPAYMENT' | 'PURCHASE' | 'SALARY' | 'RENT' | 'OTHER' — The purpose of the remittance payment.
          - `relationship` 'SPOUSE' | 'FAMILY' | 'FRIEND' | 'BUSINESS_PARTNER' | 'EMPLOYEE' | 'OTHER' — The relationship between the sender and receiver in a remittance transaction.
          - `service_provider` OlRemittanceServiceProviderV3 — Represents a remittance service provider's details.
            - `identifier` string, nullable — The unique identifier for the remittance service provider.
            - `name` string, nullable — The name of the remittance service provider.
            - `type` 'TRADITIONAL_BANK' | 'MONEY_TRANSFER_OPERATOR' | 'DIGITAL_PLATFORM' | 'ONLINE_PAYMENT_SERVICE' | 'MOBILE_MONEY_SERVICE' | 'CRYPTOCURRENCY_PLATFORM' | 'NEOBANK' | 'OTHER' — The type of service provider facilitating the remittance transaction.
          - `source_of_funds` 'SALARY' | 'BUSINESS_INCOME' | 'SAVINGS' | 'INVESTMENTS' | 'PENSION' | 'LOAN' | 'GIFT' | 'INHERITANCE' | 'ASSET_SALE' | 'INSURANCE_PAYOUT' | 'GOVERNMENT_BENEFITS' | 'TRUST_DISTRIBUTION' | 'CRYPTO_LIQUIDATION' | 'CROWDFUNDING' | 'GAMBLING_WINNINGS' | 'OTHER' — The source of funds for the remittance transaction.
          - `source_payment_method` 'CASH' | 'CREDIT_CARD' | 'DEBIT_CARD' | 'BANK_TRANSFER' | 'MOBILE_WALLET' | 'PREPAID_CARD' | 'CHEQUE' | 'CRYPTOCURRENCY' | 'GIFT_CARD' | 'POSTAL_ORDER' | 'BARTER' | 'OTHER' — The payment method used for remittance transactions.
          - `ultimate_creditor` OlPartyIdentificationV3 — 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.
            - `address` union
              - …
            - `identifier` union
              - …
            - `name` string, nullable — The name of the party.
          - `ultimate_debtor` OlPartyIdentificationV3 — 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.
            - `address` union
              - …
            - `identifier` union
              - …
            - `name` string, nullable — The name of the party.
      - `direction` 'OUTBOUND' | 'INBOUND' — Defines the direction of the flow of value in the transaction in relation to the primary Customer in a Monetary Transaction.
      - `local_value` OlMonetaryValueV3 — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `payment_channel` 'OTHER' | 'MOBILE' | 'WEB' | 'BRANCH' | 'TELEPHONE' | 'ATM' — The channel used for a payment.
      - `product_name` string — The freeform name of the product being used to perform the financial transaction.
      - `reference_text` string — The reference text supplied as part of the financial transaction (if any).
      - `value` OlMonetaryValueV3 — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
    - `enrichments` OlEnrichmentV3[], nullable — A list of enrichments applied to the Transaction.
      - `key` string, required — The key of the enrichment.
      - `type` 'LOOKUP_LIST' | 'REGEX_BOOLEAN', required — The type of enrichment source.
      - `value` union, required
        - OlBooleanEnrichmentValueV3 — Boolean representation of the enrichment value.
          - `data_type` 'TEXT' | 'DECIMAL' | 'BOOLEAN', required — The type of data stored in an enrichment value.
          - `boolean` boolean, required — The boolean value
        - OlDecimalEnrichmentValueV3 — Decimal representation of the enrichment value.
          - `data_type` 'TEXT' | 'DECIMAL' | 'BOOLEAN', required — The type of data stored in an enrichment value.
          - `decimal` number, required — The decimal value
        - OlTextEnrichmentValueV3 — String representation of the enrichment value.
          - `data_type` 'TEXT' | 'DECIMAL' | 'BOOLEAN', required — The type of data stored in an enrichment value.
          - `text` string, required — The text content.
    - `evaluation_outcome` 'PENDING' | 'PROCESS' | 'ALLOW' | 'HOLD' | 'ERROR', required — The combined outcome of all transaction evaluations.
    - `external_identifier` string, required — 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.
    - `identifier` string, uuid, nullable — Our unique identifier for your Transaction. We generate this when we process your Transaction and you are not able to specify it.
    - `initiating_channel` union
      - OlAtmChannelV3 — Represents an ATM channel used for transaction processing.
        - `network_details` OlChannelNetworkDetailsV3, required — Contains network-related information for a payment channel.
          - `country` string, iso-3166-alpha-2, nullable — ISO 2-digit country code (alpha).
          - `ip_address` OlInternetProtocolAddressV3 — Represents an Internet Protocol (IP) address with its associated type information.
            - `address` string, required — The IP address in the native format.
            - `type` 'IPV4' | 'IPV6', required — Enumeration for available IP format values.
        - `type` 'DEVICE' | 'ATM', required — Channel discriminator.
        - `address` union
          - OlStructuredAddressV3 — Represents a structured address with detailed components.
            - `format` 'STRUCTURED' | 'UNSTRUCTURED', required — Represents the format of the address used for a party.
            - `address_line1` string — The first line of the address.
            - `address_line2` string — The second line of the address.
            - `address_type` 'RESIDENTIAL' | 'MAILING' | 'OPERATING' | 'REGISTRATION' | 'BILLING' — Represents the type of address.
            - `country` string, iso-3166-alpha-2 — 2 letter country code as defined by iso-3166-alpha-2.
            - `country_subdivision` string — The country subdivision (e.g., state, province).
            - `postal_code` string — The postal code of the address.
            - `town_name` string — The town or city name.
          - OlUnstructuredAddressV3 — Represents an unstructured address with local details and country.
            - `format` 'STRUCTURED' | 'UNSTRUCTURED', required — Represents the format of the address used for a party.
            - `country` string — An unstructured text representation of a country
            - `local_details` string — The local details of the address.
        - `geographic_location` OlGeographicCoordinatesV3 — Geographic location represented by the latitude and longitude.
          - `latitude` number, required — 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.
          - `longitude` number, required — 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.
        - `identifier` string — Client-specific identifier for ATM.
        - `provider` string — ATM provider name.
      - OlDeviceChannelV3 — Represents the device channel used to initiate a transaction.
        - `network_details` OlChannelNetworkDetailsV3, required — Contains network-related information for a payment channel.
          - `country` string, iso-3166-alpha-2, nullable — ISO 2-digit country code (alpha).
          - `ip_address` OlInternetProtocolAddressV3 — Represents an Internet Protocol (IP) address with its associated type information.
            - `address` string, required — The IP address in the native format.
            - `type` 'IPV4' | 'IPV6', required — Enumeration for available IP format values.
        - `type` 'DEVICE' | 'ATM', required — Channel discriminator.
        - `fingerprint` string, required — Device fingerprint.
        - `phone_number` string — Client phone number used in the transaction.
    - `occurred_at` string, date-time, required — 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.
    - `product` OlLoanProductV3 — Represents a loan product.
      - `base_expected_monthly_payment_value` OlMonetaryValueV3 — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `expected_monthly_payment_value` OlMonetaryValueV3 — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `external_identifier` string, required — The client's identifier for the product.
      - `identifier` string, uuid, nullable — The CA internal identifier for the product.
      - `monthly_transaction_count` integer, nullable — The monthly transaction number of the product.
      - `name` string, required — The name of the product.
      - `type` 'LOAN', required — Defines the type of product payload.
      - `base_loan_value` OlMonetaryValueV3, required — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `base_remaining_balance_value` OlMonetaryValueV3, required — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `expected_installment_count` integer — The expected number of loan installments to be made.
      - `expected_repayment_date` string, date — The expected repayment date of the loan.
      - `funded_at` string, date-time — The timestamp the loan was funded.
      - `loan_type` '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', required — Defines the type of loan.
      - `loan_value` OlMonetaryValueV3 — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `remaining_balance_value` OlMonetaryValueV3 — Represents a combination of a decimal amount with a currency.
        - `amount` number, required — The decimal amount/value.
        - `crypto_asset` OlCryptoAssetV3 — The asset that was transacted.
          - `identifier` OlCaip19IdentifierV3, required — The industry standard CAIP-19 Asset Identifier (http://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-19.md)
            - `namespace` string, required — The namespace covers a class of similar assets.
            - `reference` string, required — The way to identify a blockchain within a given namespace.
          - `symbol` string, nullable — Human friendly short symbol.
        - `currency` string, iso-4217, nullable — 3 letter currency code as defined by ISO-4217.
      - `settled_at` string, date-time — The timestamp the loan was settled.
    - `received_at` string, date-time, nullable — The timestamp the Transaction event was received by us.
    - `regulatory_reporting_details` OlRegulatoryReportDetailsV3 — Regulatory reporting transaction details.
      - `fincen_details` OlFincenDetailsV3 — FinCEN transaction details.
        - `fincen_cash_transaction_subtype` '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', nullable — Defines the subtype of FinCEN transactions.
        - `gto_type_codes` string[], nullable — List of GTO type codes associated with the transaction.
      - `transaction_location_external_identifier` string, nullable — Your unique identifier for the Transaction Location.
    - `review_decision` 'NOT_APPLICABLE' | 'NOT_REVIEWED' | 'RELEASE' | 'REJECT', required — Represents the states of review decision
    - `version` integer, required — The version of the transaction.

## Response `201`

Transaction successfully processed

- OlTransactionResponseDTO
  - `evaluation_result` OlEvaluationResultDTO, required
    - `errors` OlEvaluationErrorDTO[], required
      - `detail` string, required
      - `title` string, required
    - `outcome` 'PROCESS' | 'ALLOW' | 'HOLD' | 'REJECT' | 'UNKNOWN' | 'ERROR' | 'PENDING', required
    - `scenario_evaluations` OlScenarioConfigurationEvaluationDTO[], required
      - `evaluation_result_delivery` OlEvaluationResultDeliveryResponseDTO
        - `method` 'WEBHOOK', required
        - `webhook_identifier` string, required
      - `outcome` 'UNSPECIFIED' | 'ALLOW' | 'HOLD' | 'PROCESS' | 'ERROR' | 'PENDING', required
      - `processing_method` 'SYNCHRONOUS' | 'ASYNCHRONOUS', required
      - `results` OlScenarioEvaluationDTO[], required
        - `error` OlEvaluationErrorDTO — Detail on the evaluation error of the scenario if any
          - `detail` string, required
          - `title` string, required
        - `outcome` 'UNSPECIFIED' | 'ALLOW' | 'HOLD' | 'PROCESS' | 'ERROR' | 'PENDING', required — 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
        - `priority` integer, nullable — Priority 1 is the highest while 9 is the lowest.Note: The priority is not set if the scenario did not find a risk
        - `scenario_identifier` string, uuid, required — Identifier of the scenario the evaluation is based on
        - `scenario_name` string, nullable — The scenario name is usually populated unless it was not available in our evaluation engine
      - `scenario_configuration_identifier` string, uuid, required
    - `screening_evaluation_results` OlTransactionScreeningEvaluationDTO
      - `error` OlEvaluationErrorDTO — Detail on the evaluation error of the scenario if any
        - `detail` string, required
        - `title` string, required
      - `outcome` 'UNKNOWN' | 'PROCESS' | 'HOLD' | 'REJECT', required
      - `payment_screening_configuration_identifier` string, uuid, required
      - `processing_method` 'SYNCHRONOUS' | 'ASYNCHRONOUS', required
  - `transaction` OlTransactionIdentifierDTO, required
    - `external_identifier` string, required

## Other responses

- `400` — Validation Error
- `409` — Duplicate Transaction

---

[API](https://skmtc.dev/complyadvantage/apis/mesh-api.md) · [All operations](https://skmtc.dev/complyadvantage/apis/mesh-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/complyadvantage/mesh-api/revisions/fdaac4351d85/schema)
