{
    "PartyIdType": {
        "title": "PartyIdType",
        "type": "string",
        "enum": [
            "MSISDN",
            "EMAIL",
            "PERSONAL_ID",
            "BUSINESS",
            "DEVICE",
            "ACCOUNT_ID",
            "IBAN",
            "ALIAS"
        ],
        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
    },
    "PartyIdentifier": {
        "title": "PartyIdentifier",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "Identifier of the Party.",
        "example": "16135551212"
    },
    "PartySubIdOrType": {
        "title": "PartySubIdOrType",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
    },
    "Currency": {
        "title": "Currency",
        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
        "type": "string",
        "minLength": 3,
        "maxLength": 3,
        "enum": [
            "AED",
            "AFN",
            "ALL",
            "AMD",
            "ANG",
            "AOA",
            "ARS",
            "AUD",
            "AWG",
            "AZN",
            "BAM",
            "BBD",
            "BDT",
            "BGN",
            "BHD",
            "BIF",
            "BMD",
            "BND",
            "BOB",
            "BRL",
            "BSD",
            "BTN",
            "BWP",
            "BYN",
            "BZD",
            "CAD",
            "CDF",
            "CHF",
            "CLP",
            "CNY",
            "COP",
            "CRC",
            "CUC",
            "CUP",
            "CVE",
            "CZK",
            "DJF",
            "DKK",
            "DOP",
            "DZD",
            "EGP",
            "ERN",
            "ETB",
            "EUR",
            "FJD",
            "FKP",
            "GBP",
            "GEL",
            "GGP",
            "GHS",
            "GIP",
            "GMD",
            "GNF",
            "GTQ",
            "GYD",
            "HKD",
            "HNL",
            "HRK",
            "HTG",
            "HUF",
            "IDR",
            "ILS",
            "IMP",
            "INR",
            "IQD",
            "IRR",
            "ISK",
            "JEP",
            "JMD",
            "JOD",
            "JPY",
            "KES",
            "KGS",
            "KHR",
            "KMF",
            "KPW",
            "KRW",
            "KWD",
            "KYD",
            "KZT",
            "LAK",
            "LBP",
            "LKR",
            "LRD",
            "LSL",
            "LYD",
            "MAD",
            "MDL",
            "MGA",
            "MKD",
            "MMK",
            "MNT",
            "MOP",
            "MRO",
            "MUR",
            "MVR",
            "MWK",
            "MXN",
            "MYR",
            "MZN",
            "NAD",
            "NGN",
            "NIO",
            "NOK",
            "NPR",
            "NZD",
            "OMR",
            "PAB",
            "PEN",
            "PGK",
            "PHP",
            "PKR",
            "PLN",
            "PYG",
            "QAR",
            "RON",
            "RSD",
            "RUB",
            "RWF",
            "SAR",
            "SBD",
            "SCR",
            "SDG",
            "SEK",
            "SGD",
            "SHP",
            "SLL",
            "SOS",
            "SPL",
            "SRD",
            "STD",
            "SVC",
            "SYP",
            "SZL",
            "THB",
            "TJS",
            "TMT",
            "TND",
            "TOP",
            "TRY",
            "TTD",
            "TVD",
            "TWD",
            "TZS",
            "UAH",
            "UGX",
            "USD",
            "UYU",
            "UZS",
            "VEF",
            "VND",
            "VUV",
            "WST",
            "XAF",
            "XCD",
            "XDR",
            "XOF",
            "XPF",
            "XTS",
            "XXX",
            "YER",
            "ZAR",
            "ZMW",
            "ZWD"
        ]
    },
    "accountsRequest": {
        "type": "array",
        "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
                "idType",
                "idValue",
                "currency"
            ],
            "properties": {
                "idType": {
                    "title": "PartyIdType",
                    "type": "string",
                    "enum": [
                        "MSISDN",
                        "EMAIL",
                        "PERSONAL_ID",
                        "BUSINESS",
                        "DEVICE",
                        "ACCOUNT_ID",
                        "IBAN",
                        "ALIAS"
                    ],
                    "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                },
                "idValue": {
                    "title": "PartyIdentifier",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "Identifier of the Party.",
                    "example": "16135551212"
                },
                "idSubValue": {
                    "title": "PartySubIdOrType",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                },
                "currency": {
                    "title": "Currency",
                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "enum": [
                        "AED",
                        "AFN",
                        "ALL",
                        "AMD",
                        "ANG",
                        "AOA",
                        "ARS",
                        "AUD",
                        "AWG",
                        "AZN",
                        "BAM",
                        "BBD",
                        "BDT",
                        "BGN",
                        "BHD",
                        "BIF",
                        "BMD",
                        "BND",
                        "BOB",
                        "BRL",
                        "BSD",
                        "BTN",
                        "BWP",
                        "BYN",
                        "BZD",
                        "CAD",
                        "CDF",
                        "CHF",
                        "CLP",
                        "CNY",
                        "COP",
                        "CRC",
                        "CUC",
                        "CUP",
                        "CVE",
                        "CZK",
                        "DJF",
                        "DKK",
                        "DOP",
                        "DZD",
                        "EGP",
                        "ERN",
                        "ETB",
                        "EUR",
                        "FJD",
                        "FKP",
                        "GBP",
                        "GEL",
                        "GGP",
                        "GHS",
                        "GIP",
                        "GMD",
                        "GNF",
                        "GTQ",
                        "GYD",
                        "HKD",
                        "HNL",
                        "HRK",
                        "HTG",
                        "HUF",
                        "IDR",
                        "ILS",
                        "IMP",
                        "INR",
                        "IQD",
                        "IRR",
                        "ISK",
                        "JEP",
                        "JMD",
                        "JOD",
                        "JPY",
                        "KES",
                        "KGS",
                        "KHR",
                        "KMF",
                        "KPW",
                        "KRW",
                        "KWD",
                        "KYD",
                        "KZT",
                        "LAK",
                        "LBP",
                        "LKR",
                        "LRD",
                        "LSL",
                        "LYD",
                        "MAD",
                        "MDL",
                        "MGA",
                        "MKD",
                        "MMK",
                        "MNT",
                        "MOP",
                        "MRO",
                        "MUR",
                        "MVR",
                        "MWK",
                        "MXN",
                        "MYR",
                        "MZN",
                        "NAD",
                        "NGN",
                        "NIO",
                        "NOK",
                        "NPR",
                        "NZD",
                        "OMR",
                        "PAB",
                        "PEN",
                        "PGK",
                        "PHP",
                        "PKR",
                        "PLN",
                        "PYG",
                        "QAR",
                        "RON",
                        "RSD",
                        "RUB",
                        "RWF",
                        "SAR",
                        "SBD",
                        "SCR",
                        "SDG",
                        "SEK",
                        "SGD",
                        "SHP",
                        "SLL",
                        "SOS",
                        "SPL",
                        "SRD",
                        "STD",
                        "SVC",
                        "SYP",
                        "SZL",
                        "THB",
                        "TJS",
                        "TMT",
                        "TND",
                        "TOP",
                        "TRY",
                        "TTD",
                        "TVD",
                        "TWD",
                        "TZS",
                        "UAH",
                        "UGX",
                        "USD",
                        "UYU",
                        "UZS",
                        "VEF",
                        "VND",
                        "VUV",
                        "WST",
                        "XAF",
                        "XCD",
                        "XDR",
                        "XOF",
                        "XPF",
                        "XTS",
                        "XXX",
                        "YER",
                        "ZAR",
                        "ZMW",
                        "ZWD"
                    ]
                }
            }
        }
    },
    "CorrelationId": {
        "title": "CorrelationId",
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
        "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
        "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
    },
    "errorResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "statusCode": {
                "type": "string",
                "description": "Error code as string."
            },
            "message": {
                "type": "string",
                "description": "Error message text."
            }
        }
    },
    "accountCreationStatus": {
        "type": "array",
        "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
                "idType",
                "idValue"
            ],
            "properties": {
                "idType": {
                    "title": "PartyIdType",
                    "type": "string",
                    "enum": [
                        "MSISDN",
                        "EMAIL",
                        "PERSONAL_ID",
                        "BUSINESS",
                        "DEVICE",
                        "ACCOUNT_ID",
                        "IBAN",
                        "ALIAS"
                    ],
                    "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                },
                "idValue": {
                    "title": "PartyIdentifier",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "Identifier of the Party.",
                    "example": "16135551212"
                },
                "idSubValue": {
                    "title": "PartySubIdOrType",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                },
                "error": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "statusCode": {
                            "type": "string",
                            "description": "Error code as string."
                        },
                        "message": {
                            "type": "string",
                            "description": "Error message text."
                        }
                    }
                }
            }
        }
    },
    "accountsCreationState": {
        "type": "string",
        "enum": [
            "ERROR_OCCURRED",
            "COMPLETED"
        ]
    },
    "ErrorCode": {
        "title": "ErrorCode",
        "type": "string",
        "pattern": "^[1-9]\\d{3}$",
        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
        "example": "5100"
    },
    "ErrorDescription": {
        "title": "ErrorDescription",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "Error description string."
    },
    "ExtensionKey": {
        "title": "ExtensionKey",
        "type": "string",
        "minLength": 1,
        "maxLength": 32,
        "description": "Extension key."
    },
    "ExtensionValue": {
        "title": "ExtensionValue",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "Extension value."
    },
    "Extension": {
        "title": "Extension",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type Extension.",
        "properties": {
            "key": {
                "title": "ExtensionKey",
                "type": "string",
                "minLength": 1,
                "maxLength": 32,
                "description": "Extension key."
            },
            "value": {
                "title": "ExtensionValue",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Extension value."
            }
        },
        "required": [
            "key",
            "value"
        ]
    },
    "ExtensionList": {
        "title": "ExtensionList",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
        "properties": {
            "extension": {
                "type": "array",
                "items": {
                    "title": "Extension",
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Data model for the complex type Extension.",
                    "properties": {
                        "key": {
                            "title": "ExtensionKey",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 32,
                            "description": "Extension key."
                        },
                        "value": {
                            "title": "ExtensionValue",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Extension value."
                        }
                    },
                    "required": [
                        "key",
                        "value"
                    ]
                },
                "minItems": 1,
                "maxItems": 16,
                "description": "Number of Extension elements."
            }
        },
        "required": [
            "extension"
        ]
    },
    "ErrorInformation": {
        "title": "ErrorInformation",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type ErrorInformation.",
        "properties": {
            "errorCode": {
                "title": "ErrorCode",
                "type": "string",
                "pattern": "^[1-9]\\d{3}$",
                "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                "example": "5100"
            },
            "errorDescription": {
                "title": "ErrorDescription",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Error description string."
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        },
        "required": [
            "errorCode",
            "errorDescription"
        ]
    },
    "mojaloopError": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "errorInformation": {
                "title": "ErrorInformation",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ErrorInformation.",
                "properties": {
                    "errorCode": {
                        "title": "ErrorCode",
                        "type": "string",
                        "pattern": "^[1-9]\\d{3}$",
                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                        "example": "5100"
                    },
                    "errorDescription": {
                        "title": "ErrorDescription",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Error description string."
                    },
                    "extensionList": {
                        "title": "ExtensionList",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                        "properties": {
                            "extension": {
                                "type": "array",
                                "items": {
                                    "title": "Extension",
                                    "type": "object",
                                    "additionalProperties": false,
                                    "description": "Data model for the complex type Extension.",
                                    "properties": {
                                        "key": {
                                            "title": "ExtensionKey",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 32,
                                            "description": "Extension key."
                                        },
                                        "value": {
                                            "title": "ExtensionValue",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Extension value."
                                        }
                                    },
                                    "required": [
                                        "key",
                                        "value"
                                    ]
                                },
                                "minItems": 1,
                                "maxItems": 16,
                                "description": "Number of Extension elements."
                            }
                        },
                        "required": [
                            "extension"
                        ]
                    }
                },
                "required": [
                    "errorCode",
                    "errorDescription"
                ]
            }
        }
    },
    "transferError": {
        "type": "object",
        "additionalProperties": false,
        "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
        "properties": {
            "httpStatusCode": {
                "type": "integer",
                "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
            },
            "mojaloopError": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "errorInformation": {
                        "title": "ErrorInformation",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type ErrorInformation.",
                        "properties": {
                            "errorCode": {
                                "title": "ErrorCode",
                                "type": "string",
                                "pattern": "^[1-9]\\d{3}$",
                                "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                "example": "5100"
                            },
                            "errorDescription": {
                                "title": "ErrorDescription",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Error description string."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "errorCode",
                            "errorDescription"
                        ]
                    }
                }
            }
        }
    },
    "accountsResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "accounts"
        ],
        "properties": {
            "modelId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "accounts": {
                "type": "array",
                "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "idType",
                        "idValue",
                        "currency"
                    ],
                    "properties": {
                        "idType": {
                            "title": "PartyIdType",
                            "type": "string",
                            "enum": [
                                "MSISDN",
                                "EMAIL",
                                "PERSONAL_ID",
                                "BUSINESS",
                                "DEVICE",
                                "ACCOUNT_ID",
                                "IBAN",
                                "ALIAS"
                            ],
                            "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                        },
                        "idValue": {
                            "title": "PartyIdentifier",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Identifier of the Party.",
                            "example": "16135551212"
                        },
                        "idSubValue": {
                            "title": "PartySubIdOrType",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                        },
                        "currency": {
                            "title": "Currency",
                            "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 3,
                            "enum": [
                                "AED",
                                "AFN",
                                "ALL",
                                "AMD",
                                "ANG",
                                "AOA",
                                "ARS",
                                "AUD",
                                "AWG",
                                "AZN",
                                "BAM",
                                "BBD",
                                "BDT",
                                "BGN",
                                "BHD",
                                "BIF",
                                "BMD",
                                "BND",
                                "BOB",
                                "BRL",
                                "BSD",
                                "BTN",
                                "BWP",
                                "BYN",
                                "BZD",
                                "CAD",
                                "CDF",
                                "CHF",
                                "CLP",
                                "CNY",
                                "COP",
                                "CRC",
                                "CUC",
                                "CUP",
                                "CVE",
                                "CZK",
                                "DJF",
                                "DKK",
                                "DOP",
                                "DZD",
                                "EGP",
                                "ERN",
                                "ETB",
                                "EUR",
                                "FJD",
                                "FKP",
                                "GBP",
                                "GEL",
                                "GGP",
                                "GHS",
                                "GIP",
                                "GMD",
                                "GNF",
                                "GTQ",
                                "GYD",
                                "HKD",
                                "HNL",
                                "HRK",
                                "HTG",
                                "HUF",
                                "IDR",
                                "ILS",
                                "IMP",
                                "INR",
                                "IQD",
                                "IRR",
                                "ISK",
                                "JEP",
                                "JMD",
                                "JOD",
                                "JPY",
                                "KES",
                                "KGS",
                                "KHR",
                                "KMF",
                                "KPW",
                                "KRW",
                                "KWD",
                                "KYD",
                                "KZT",
                                "LAK",
                                "LBP",
                                "LKR",
                                "LRD",
                                "LSL",
                                "LYD",
                                "MAD",
                                "MDL",
                                "MGA",
                                "MKD",
                                "MMK",
                                "MNT",
                                "MOP",
                                "MRO",
                                "MUR",
                                "MVR",
                                "MWK",
                                "MXN",
                                "MYR",
                                "MZN",
                                "NAD",
                                "NGN",
                                "NIO",
                                "NOK",
                                "NPR",
                                "NZD",
                                "OMR",
                                "PAB",
                                "PEN",
                                "PGK",
                                "PHP",
                                "PKR",
                                "PLN",
                                "PYG",
                                "QAR",
                                "RON",
                                "RSD",
                                "RUB",
                                "RWF",
                                "SAR",
                                "SBD",
                                "SCR",
                                "SDG",
                                "SEK",
                                "SGD",
                                "SHP",
                                "SLL",
                                "SOS",
                                "SPL",
                                "SRD",
                                "STD",
                                "SVC",
                                "SYP",
                                "SZL",
                                "THB",
                                "TJS",
                                "TMT",
                                "TND",
                                "TOP",
                                "TRY",
                                "TTD",
                                "TVD",
                                "TWD",
                                "TZS",
                                "UAH",
                                "UGX",
                                "USD",
                                "UYU",
                                "UZS",
                                "VEF",
                                "VND",
                                "VUV",
                                "WST",
                                "XAF",
                                "XCD",
                                "XDR",
                                "XOF",
                                "XPF",
                                "XTS",
                                "XXX",
                                "YER",
                                "ZAR",
                                "ZMW",
                                "ZWD"
                            ]
                        }
                    }
                }
            },
            "response": {
                "type": "array",
                "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "idType",
                        "idValue"
                    ],
                    "properties": {
                        "idType": {
                            "title": "PartyIdType",
                            "type": "string",
                            "enum": [
                                "MSISDN",
                                "EMAIL",
                                "PERSONAL_ID",
                                "BUSINESS",
                                "DEVICE",
                                "ACCOUNT_ID",
                                "IBAN",
                                "ALIAS"
                            ],
                            "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                        },
                        "idValue": {
                            "title": "PartyIdentifier",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Identifier of the Party.",
                            "example": "16135551212"
                        },
                        "idSubValue": {
                            "title": "PartySubIdOrType",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                        },
                        "error": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "statusCode": {
                                    "type": "string",
                                    "description": "Error code as string."
                                },
                                "message": {
                                    "type": "string",
                                    "description": "Error message text."
                                }
                            }
                        }
                    }
                }
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "COMPLETED"
                ]
            },
            "lastError": {
                "type": "object",
                "additionalProperties": false,
                "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                "properties": {
                    "httpStatusCode": {
                        "type": "integer",
                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                    },
                    "mojaloopError": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "errorInformation": {
                                "title": "ErrorInformation",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ErrorInformation.",
                                "properties": {
                                    "errorCode": {
                                        "title": "ErrorCode",
                                        "type": "string",
                                        "pattern": "^[1-9]\\d{3}$",
                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                        "example": "5100"
                                    },
                                    "errorDescription": {
                                        "title": "ErrorDescription",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Error description string."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "errorCode",
                                    "errorDescription"
                                ]
                            }
                        }
                    }
                }
            },
            "postAccountsResponse": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "type": "object"
                    },
                    "headers": {
                        "type": "object"
                    }
                }
            }
        }
    },
    "errorAccountsResponse": {
        "allOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Error code as string."
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message text."
                    }
                }
            },
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "executionState"
                ],
                "properties": {
                    "executionState": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "accounts"
                        ],
                        "properties": {
                            "modelId": {
                                "title": "CorrelationId",
                                "type": "string",
                                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                            },
                            "accounts": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "idType",
                                        "idValue",
                                        "currency"
                                    ],
                                    "properties": {
                                        "idType": {
                                            "title": "PartyIdType",
                                            "type": "string",
                                            "enum": [
                                                "MSISDN",
                                                "EMAIL",
                                                "PERSONAL_ID",
                                                "BUSINESS",
                                                "DEVICE",
                                                "ACCOUNT_ID",
                                                "IBAN",
                                                "ALIAS"
                                            ],
                                            "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                        },
                                        "idValue": {
                                            "title": "PartyIdentifier",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Identifier of the Party.",
                                            "example": "16135551212"
                                        },
                                        "idSubValue": {
                                            "title": "PartySubIdOrType",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                        },
                                        "currency": {
                                            "title": "Currency",
                                            "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                            "type": "string",
                                            "minLength": 3,
                                            "maxLength": 3,
                                            "enum": [
                                                "AED",
                                                "AFN",
                                                "ALL",
                                                "AMD",
                                                "ANG",
                                                "AOA",
                                                "ARS",
                                                "AUD",
                                                "AWG",
                                                "AZN",
                                                "BAM",
                                                "BBD",
                                                "BDT",
                                                "BGN",
                                                "BHD",
                                                "BIF",
                                                "BMD",
                                                "BND",
                                                "BOB",
                                                "BRL",
                                                "BSD",
                                                "BTN",
                                                "BWP",
                                                "BYN",
                                                "BZD",
                                                "CAD",
                                                "CDF",
                                                "CHF",
                                                "CLP",
                                                "CNY",
                                                "COP",
                                                "CRC",
                                                "CUC",
                                                "CUP",
                                                "CVE",
                                                "CZK",
                                                "DJF",
                                                "DKK",
                                                "DOP",
                                                "DZD",
                                                "EGP",
                                                "ERN",
                                                "ETB",
                                                "EUR",
                                                "FJD",
                                                "FKP",
                                                "GBP",
                                                "GEL",
                                                "GGP",
                                                "GHS",
                                                "GIP",
                                                "GMD",
                                                "GNF",
                                                "GTQ",
                                                "GYD",
                                                "HKD",
                                                "HNL",
                                                "HRK",
                                                "HTG",
                                                "HUF",
                                                "IDR",
                                                "ILS",
                                                "IMP",
                                                "INR",
                                                "IQD",
                                                "IRR",
                                                "ISK",
                                                "JEP",
                                                "JMD",
                                                "JOD",
                                                "JPY",
                                                "KES",
                                                "KGS",
                                                "KHR",
                                                "KMF",
                                                "KPW",
                                                "KRW",
                                                "KWD",
                                                "KYD",
                                                "KZT",
                                                "LAK",
                                                "LBP",
                                                "LKR",
                                                "LRD",
                                                "LSL",
                                                "LYD",
                                                "MAD",
                                                "MDL",
                                                "MGA",
                                                "MKD",
                                                "MMK",
                                                "MNT",
                                                "MOP",
                                                "MRO",
                                                "MUR",
                                                "MVR",
                                                "MWK",
                                                "MXN",
                                                "MYR",
                                                "MZN",
                                                "NAD",
                                                "NGN",
                                                "NIO",
                                                "NOK",
                                                "NPR",
                                                "NZD",
                                                "OMR",
                                                "PAB",
                                                "PEN",
                                                "PGK",
                                                "PHP",
                                                "PKR",
                                                "PLN",
                                                "PYG",
                                                "QAR",
                                                "RON",
                                                "RSD",
                                                "RUB",
                                                "RWF",
                                                "SAR",
                                                "SBD",
                                                "SCR",
                                                "SDG",
                                                "SEK",
                                                "SGD",
                                                "SHP",
                                                "SLL",
                                                "SOS",
                                                "SPL",
                                                "SRD",
                                                "STD",
                                                "SVC",
                                                "SYP",
                                                "SZL",
                                                "THB",
                                                "TJS",
                                                "TMT",
                                                "TND",
                                                "TOP",
                                                "TRY",
                                                "TTD",
                                                "TVD",
                                                "TWD",
                                                "TZS",
                                                "UAH",
                                                "UGX",
                                                "USD",
                                                "UYU",
                                                "UZS",
                                                "VEF",
                                                "VND",
                                                "VUV",
                                                "WST",
                                                "XAF",
                                                "XCD",
                                                "XDR",
                                                "XOF",
                                                "XPF",
                                                "XTS",
                                                "XXX",
                                                "YER",
                                                "ZAR",
                                                "ZMW",
                                                "ZWD"
                                            ]
                                        }
                                    }
                                }
                            },
                            "response": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "idType",
                                        "idValue"
                                    ],
                                    "properties": {
                                        "idType": {
                                            "title": "PartyIdType",
                                            "type": "string",
                                            "enum": [
                                                "MSISDN",
                                                "EMAIL",
                                                "PERSONAL_ID",
                                                "BUSINESS",
                                                "DEVICE",
                                                "ACCOUNT_ID",
                                                "IBAN",
                                                "ALIAS"
                                            ],
                                            "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                        },
                                        "idValue": {
                                            "title": "PartyIdentifier",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Identifier of the Party.",
                                            "example": "16135551212"
                                        },
                                        "idSubValue": {
                                            "title": "PartySubIdOrType",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                        },
                                        "error": {
                                            "type": "object",
                                            "additionalProperties": false,
                                            "properties": {
                                                "statusCode": {
                                                    "type": "string",
                                                    "description": "Error code as string."
                                                },
                                                "message": {
                                                    "type": "string",
                                                    "description": "Error message text."
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "currentState": {
                                "type": "string",
                                "enum": [
                                    "ERROR_OCCURRED",
                                    "COMPLETED"
                                ]
                            },
                            "lastError": {
                                "type": "object",
                                "additionalProperties": false,
                                "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                                "properties": {
                                    "httpStatusCode": {
                                        "type": "integer",
                                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                    },
                                    "mojaloopError": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "properties": {
                                            "errorInformation": {
                                                "title": "ErrorInformation",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type ErrorInformation.",
                                                "properties": {
                                                    "errorCode": {
                                                        "title": "ErrorCode",
                                                        "type": "string",
                                                        "pattern": "^[1-9]\\d{3}$",
                                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                        "example": "5100"
                                                    },
                                                    "errorDescription": {
                                                        "title": "ErrorDescription",
                                                        "type": "string",
                                                        "minLength": 1,
                                                        "maxLength": 128,
                                                        "description": "Error description string."
                                                    },
                                                    "extensionList": {
                                                        "title": "ExtensionList",
                                                        "type": "object",
                                                        "additionalProperties": false,
                                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                        "properties": {
                                                            "extension": {
                                                                "type": "array",
                                                                "items": {
                                                                    "title": "Extension",
                                                                    "type": "object",
                                                                    "additionalProperties": false,
                                                                    "description": "Data model for the complex type Extension.",
                                                                    "properties": {
                                                                        "key": {
                                                                            "title": "ExtensionKey",
                                                                            "type": "string",
                                                                            "minLength": 1,
                                                                            "maxLength": 32,
                                                                            "description": "Extension key."
                                                                        },
                                                                        "value": {
                                                                            "title": "ExtensionValue",
                                                                            "type": "string",
                                                                            "minLength": 1,
                                                                            "maxLength": 128,
                                                                            "description": "Extension value."
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "value"
                                                                    ]
                                                                },
                                                                "minItems": 1,
                                                                "maxItems": 16,
                                                                "description": "Number of Extension elements."
                                                            }
                                                        },
                                                        "required": [
                                                            "extension"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "errorCode",
                                                    "errorDescription"
                                                ]
                                            }
                                        }
                                    }
                                }
                            },
                            "postAccountsResponse": {
                                "type": "object",
                                "required": [
                                    "body"
                                ],
                                "properties": {
                                    "body": {
                                        "type": "object"
                                    },
                                    "headers": {
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        ]
    },
    "TransactionInitiatorType": {
        "title": "TransactionInitiatorType",
        "type": "string",
        "enum": [
            "CONSUMER",
            "AGENT",
            "BUSINESS",
            "DEVICE"
        ],
        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
        "example": "CONSUMER"
    },
    "Name": {
        "title": "Name",
        "type": "string",
        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
    },
    "FirstName": {
        "title": "FirstName",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
        "description": "First name of the Party (Name Type).",
        "example": "Henrik"
    },
    "MiddleName": {
        "title": "MiddleName",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
        "description": "Middle name of the Party (Name Type).",
        "example": "Johannes"
    },
    "LastName": {
        "title": "LastName",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
        "description": "Last name of the Party (Name Type).",
        "example": "Karlsson"
    },
    "DateOfBirth": {
        "title": "DateofBirth (type Date)",
        "type": "string",
        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
        "description": "Date of Birth of the Party.",
        "example": "1966-06-16"
    },
    "MerchantClassificationCode": {
        "title": "MerchantClassificationCode",
        "type": "string",
        "pattern": "^[\\d]{1,4}$",
        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
    },
    "FspId": {
        "title": "FspId",
        "type": "string",
        "minLength": 1,
        "maxLength": 32,
        "description": "FSP identifier."
    },
    "extensionListEmptiable": {
        "type": "array",
        "items": {
            "title": "Extension",
            "type": "object",
            "additionalProperties": false,
            "description": "Data model for the complex type Extension.",
            "properties": {
                "key": {
                    "title": "ExtensionKey",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 32,
                    "description": "Extension key."
                },
                "value": {
                    "title": "ExtensionValue",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "Extension value."
                }
            },
            "required": [
                "key",
                "value"
            ]
        },
        "minItems": 0,
        "maxItems": 16
    },
    "transferParty": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "idType",
            "idValue"
        ],
        "properties": {
            "type": {
                "title": "TransactionInitiatorType",
                "type": "string",
                "enum": [
                    "CONSUMER",
                    "AGENT",
                    "BUSINESS",
                    "DEVICE"
                ],
                "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                "example": "CONSUMER"
            },
            "idType": {
                "title": "PartyIdType",
                "type": "string",
                "enum": [
                    "MSISDN",
                    "EMAIL",
                    "PERSONAL_ID",
                    "BUSINESS",
                    "DEVICE",
                    "ACCOUNT_ID",
                    "IBAN",
                    "ALIAS"
                ],
                "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
            },
            "idValue": {
                "title": "PartyIdentifier",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Identifier of the Party.",
                "example": "16135551212"
            },
            "idSubValue": {
                "title": "PartySubIdOrType",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
            },
            "displayName": {
                "title": "Name",
                "type": "string",
                "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
            },
            "firstName": {
                "title": "FirstName",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                "description": "First name of the Party (Name Type).",
                "example": "Henrik"
            },
            "middleName": {
                "title": "MiddleName",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                "description": "Middle name of the Party (Name Type).",
                "example": "Johannes"
            },
            "lastName": {
                "title": "LastName",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                "description": "Last name of the Party (Name Type).",
                "example": "Karlsson"
            },
            "dateOfBirth": {
                "title": "DateofBirth (type Date)",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                "description": "Date of Birth of the Party.",
                "example": "1966-06-16"
            },
            "merchantClassificationCode": {
                "title": "MerchantClassificationCode",
                "type": "string",
                "pattern": "^[\\d]{1,4}$",
                "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
            },
            "fspId": {
                "title": "FspId",
                "type": "string",
                "minLength": 1,
                "maxLength": 32,
                "description": "FSP identifier."
            },
            "extensionList": {
                "type": "array",
                "items": {
                    "title": "Extension",
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Data model for the complex type Extension.",
                    "properties": {
                        "key": {
                            "title": "ExtensionKey",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 32,
                            "description": "Extension key."
                        },
                        "value": {
                            "title": "ExtensionValue",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Extension value."
                        }
                    },
                    "required": [
                        "key",
                        "value"
                    ]
                },
                "minItems": 0,
                "maxItems": 16
            }
        }
    },
    "AmountType": {
        "title": "AmountType",
        "type": "string",
        "enum": [
            "SEND",
            "RECEIVE"
        ],
        "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
        "example": "RECEIVE"
    },
    "Amount": {
        "title": "Amount",
        "type": "string",
        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
        "example": "123.45"
    },
    "transferTransactionType": {
        "title": "transferTransactionType",
        "type": "string",
        "enum": [
            "TRANSFER"
        ],
        "description": "Type of transaction."
    },
    "TransactionSubScenario": {
        "title": "TransactionSubScenario",
        "type": "string",
        "pattern": "^[A-Z_]{1,32}$",
        "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
        "example": "LOCALLY_DEFINED_SUBSCENARIO"
    },
    "Note": {
        "title": "Note",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "Memo assigned to transaction.",
        "example": "Note sent to Payee."
    },
    "individualQuote": {
        "title": "IndividualQuote",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type 'individualQuote'.",
        "properties": {
            "quoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "to": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "transactionType": {
                "title": "transferTransactionType",
                "type": "string",
                "enum": [
                    "TRANSFER"
                ],
                "description": "Type of transaction."
            },
            "subScenario": {
                "title": "TransactionSubScenario",
                "type": "string",
                "pattern": "^[A-Z_]{1,32}$",
                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                "example": "LOCALLY_DEFINED_SUBSCENARIO"
            },
            "note": {
                "title": "Note",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Memo assigned to transaction.",
                "example": "Note sent to Payee."
            },
            "extensions": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        },
        "required": [
            "quoteId",
            "to",
            "amountType",
            "currency",
            "transactionType",
            "amount"
        ]
    },
    "bulkQuoteRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "homeTransactionId",
            "from",
            "individualQuotes"
        ],
        "properties": {
            "homeTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "bulkQuoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "from": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "individualQuotes": {
                "description": "List of individual quotes in a bulk quote.",
                "type": "array",
                "minItems": 1,
                "maxItems": 1000,
                "items": {
                    "title": "IndividualQuote",
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Data model for the complex type 'individualQuote'.",
                    "properties": {
                        "quoteId": {
                            "title": "CorrelationId",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                        },
                        "to": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "idType",
                                "idValue"
                            ],
                            "properties": {
                                "type": {
                                    "title": "TransactionInitiatorType",
                                    "type": "string",
                                    "enum": [
                                        "CONSUMER",
                                        "AGENT",
                                        "BUSINESS",
                                        "DEVICE"
                                    ],
                                    "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                                    "example": "CONSUMER"
                                },
                                "idType": {
                                    "title": "PartyIdType",
                                    "type": "string",
                                    "enum": [
                                        "MSISDN",
                                        "EMAIL",
                                        "PERSONAL_ID",
                                        "BUSINESS",
                                        "DEVICE",
                                        "ACCOUNT_ID",
                                        "IBAN",
                                        "ALIAS"
                                    ],
                                    "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                },
                                "idValue": {
                                    "title": "PartyIdentifier",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Identifier of the Party.",
                                    "example": "16135551212"
                                },
                                "idSubValue": {
                                    "title": "PartySubIdOrType",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                },
                                "displayName": {
                                    "title": "Name",
                                    "type": "string",
                                    "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                                    "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                                },
                                "firstName": {
                                    "title": "FirstName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "First name of the Party (Name Type).",
                                    "example": "Henrik"
                                },
                                "middleName": {
                                    "title": "MiddleName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "Middle name of the Party (Name Type).",
                                    "example": "Johannes"
                                },
                                "lastName": {
                                    "title": "LastName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "Last name of the Party (Name Type).",
                                    "example": "Karlsson"
                                },
                                "dateOfBirth": {
                                    "title": "DateofBirth (type Date)",
                                    "type": "string",
                                    "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                    "description": "Date of Birth of the Party.",
                                    "example": "1966-06-16"
                                },
                                "merchantClassificationCode": {
                                    "title": "MerchantClassificationCode",
                                    "type": "string",
                                    "pattern": "^[\\d]{1,4}$",
                                    "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                                },
                                "fspId": {
                                    "title": "FspId",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "FSP identifier."
                                },
                                "extensionList": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 0,
                                    "maxItems": 16
                                }
                            }
                        },
                        "amountType": {
                            "title": "AmountType",
                            "type": "string",
                            "enum": [
                                "SEND",
                                "RECEIVE"
                            ],
                            "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                            "example": "RECEIVE"
                        },
                        "currency": {
                            "title": "Currency",
                            "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 3,
                            "enum": [
                                "AED",
                                "AFN",
                                "ALL",
                                "AMD",
                                "ANG",
                                "AOA",
                                "ARS",
                                "AUD",
                                "AWG",
                                "AZN",
                                "BAM",
                                "BBD",
                                "BDT",
                                "BGN",
                                "BHD",
                                "BIF",
                                "BMD",
                                "BND",
                                "BOB",
                                "BRL",
                                "BSD",
                                "BTN",
                                "BWP",
                                "BYN",
                                "BZD",
                                "CAD",
                                "CDF",
                                "CHF",
                                "CLP",
                                "CNY",
                                "COP",
                                "CRC",
                                "CUC",
                                "CUP",
                                "CVE",
                                "CZK",
                                "DJF",
                                "DKK",
                                "DOP",
                                "DZD",
                                "EGP",
                                "ERN",
                                "ETB",
                                "EUR",
                                "FJD",
                                "FKP",
                                "GBP",
                                "GEL",
                                "GGP",
                                "GHS",
                                "GIP",
                                "GMD",
                                "GNF",
                                "GTQ",
                                "GYD",
                                "HKD",
                                "HNL",
                                "HRK",
                                "HTG",
                                "HUF",
                                "IDR",
                                "ILS",
                                "IMP",
                                "INR",
                                "IQD",
                                "IRR",
                                "ISK",
                                "JEP",
                                "JMD",
                                "JOD",
                                "JPY",
                                "KES",
                                "KGS",
                                "KHR",
                                "KMF",
                                "KPW",
                                "KRW",
                                "KWD",
                                "KYD",
                                "KZT",
                                "LAK",
                                "LBP",
                                "LKR",
                                "LRD",
                                "LSL",
                                "LYD",
                                "MAD",
                                "MDL",
                                "MGA",
                                "MKD",
                                "MMK",
                                "MNT",
                                "MOP",
                                "MRO",
                                "MUR",
                                "MVR",
                                "MWK",
                                "MXN",
                                "MYR",
                                "MZN",
                                "NAD",
                                "NGN",
                                "NIO",
                                "NOK",
                                "NPR",
                                "NZD",
                                "OMR",
                                "PAB",
                                "PEN",
                                "PGK",
                                "PHP",
                                "PKR",
                                "PLN",
                                "PYG",
                                "QAR",
                                "RON",
                                "RSD",
                                "RUB",
                                "RWF",
                                "SAR",
                                "SBD",
                                "SCR",
                                "SDG",
                                "SEK",
                                "SGD",
                                "SHP",
                                "SLL",
                                "SOS",
                                "SPL",
                                "SRD",
                                "STD",
                                "SVC",
                                "SYP",
                                "SZL",
                                "THB",
                                "TJS",
                                "TMT",
                                "TND",
                                "TOP",
                                "TRY",
                                "TTD",
                                "TVD",
                                "TWD",
                                "TZS",
                                "UAH",
                                "UGX",
                                "USD",
                                "UYU",
                                "UZS",
                                "VEF",
                                "VND",
                                "VUV",
                                "WST",
                                "XAF",
                                "XCD",
                                "XDR",
                                "XOF",
                                "XPF",
                                "XTS",
                                "XXX",
                                "YER",
                                "ZAR",
                                "ZMW",
                                "ZWD"
                            ]
                        },
                        "amount": {
                            "title": "Amount",
                            "type": "string",
                            "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                            "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                            "example": "123.45"
                        },
                        "transactionType": {
                            "title": "transferTransactionType",
                            "type": "string",
                            "enum": [
                                "TRANSFER"
                            ],
                            "description": "Type of transaction."
                        },
                        "subScenario": {
                            "title": "TransactionSubScenario",
                            "type": "string",
                            "pattern": "^[A-Z_]{1,32}$",
                            "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                            "example": "LOCALLY_DEFINED_SUBSCENARIO"
                        },
                        "note": {
                            "title": "Note",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Memo assigned to transaction.",
                            "example": "Note sent to Payee."
                        },
                        "extensions": {
                            "title": "ExtensionList",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                            "properties": {
                                "extension": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 1,
                                    "maxItems": 16,
                                    "description": "Number of Extension elements."
                                }
                            },
                            "required": [
                                "extension"
                            ]
                        }
                    },
                    "required": [
                        "quoteId",
                        "to",
                        "amountType",
                        "currency",
                        "transactionType",
                        "amount"
                    ]
                }
            },
            "extensions": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        }
    },
    "DateTime": {
        "title": "DateTime",
        "type": "string",
        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
        "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
        "example": "2016-05-24T08:38:08.699-04:00"
    },
    "bulkTransferStatus": {
        "type": "string",
        "enum": [
            "ERROR_OCCURRED",
            "COMPLETED"
        ]
    },
    "Money": {
        "title": "Money",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type Money.",
        "properties": {
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            }
        },
        "required": [
            "currency",
            "amount"
        ]
    },
    "Latitude": {
        "title": "Latitude",
        "type": "string",
        "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
        "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
        "example": "+45.4215"
    },
    "Longitude": {
        "title": "Longitude",
        "type": "string",
        "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
        "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
        "example": "+75.6972"
    },
    "GeoCode": {
        "title": "GeoCode",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
        "properties": {
            "latitude": {
                "title": "Latitude",
                "type": "string",
                "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                "example": "+45.4215"
            },
            "longitude": {
                "title": "Longitude",
                "type": "string",
                "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                "example": "+75.6972"
            }
        },
        "required": [
            "latitude",
            "longitude"
        ]
    },
    "IlpPacket": {
        "title": "IlpPacket",
        "type": "string",
        "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
        "minLength": 1,
        "maxLength": 32768,
        "description": "Information for recipient (transport layer information).",
        "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
    },
    "IlpCondition": {
        "title": "IlpCondition",
        "type": "string",
        "pattern": "^[A-Za-z0-9-_]{43}$",
        "maxLength": 48,
        "description": "Condition that must be attached to the transfer by the Payer."
    },
    "quoteError": {
        "type": "object",
        "additionalProperties": false,
        "description": "This object represents a Mojaloop API error received at any time during the quote process",
        "properties": {
            "httpStatusCode": {
                "type": "integer",
                "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
            },
            "mojaloopError": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "errorInformation": {
                        "title": "ErrorInformation",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type ErrorInformation.",
                        "properties": {
                            "errorCode": {
                                "title": "ErrorCode",
                                "type": "string",
                                "pattern": "^[1-9]\\d{3}$",
                                "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                "example": "5100"
                            },
                            "errorDescription": {
                                "title": "ErrorDescription",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Error description string."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "errorCode",
                            "errorDescription"
                        ]
                    }
                }
            }
        }
    },
    "individualQuoteResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "quoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "transferAmount": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "payeeReceiveAmount": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "payeeFspFee": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "payeeFspCommission": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "geoCode": {
                "title": "GeoCode",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                "properties": {
                    "latitude": {
                        "title": "Latitude",
                        "type": "string",
                        "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                        "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                        "example": "+45.4215"
                    },
                    "longitude": {
                        "title": "Longitude",
                        "type": "string",
                        "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                        "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                        "example": "+75.6972"
                    }
                },
                "required": [
                    "latitude",
                    "longitude"
                ]
            },
            "ilpPacket": {
                "title": "IlpPacket",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                "minLength": 1,
                "maxLength": 32768,
                "description": "Information for recipient (transport layer information).",
                "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
            },
            "condition": {
                "title": "IlpCondition",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]{43}$",
                "maxLength": 48,
                "description": "Condition that must be attached to the transfer by the Payer."
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            },
            "lastError": {
                "type": "object",
                "additionalProperties": false,
                "description": "This object represents a Mojaloop API error received at any time during the quote process",
                "properties": {
                    "httpStatusCode": {
                        "type": "integer",
                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                    },
                    "mojaloopError": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "errorInformation": {
                                "title": "ErrorInformation",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ErrorInformation.",
                                "properties": {
                                    "errorCode": {
                                        "title": "ErrorCode",
                                        "type": "string",
                                        "pattern": "^[1-9]\\d{3}$",
                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                        "example": "5100"
                                    },
                                    "errorDescription": {
                                        "title": "ErrorDescription",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Error description string."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "errorCode",
                                    "errorDescription"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "required": [
            "quoteId"
        ]
    },
    "bulkQuoteResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "bulkQuoteId",
            "individualQuoteResults",
            "currentState",
            "expiration"
        ],
        "properties": {
            "bulkQuoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "homeTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "expiration": {
                "title": "DateTime",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                "example": "2016-05-24T08:38:08.699-04:00"
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "COMPLETED"
                ]
            },
            "individualQuoteResults": {
                "type": "array",
                "maxItems": 1000,
                "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "quoteId": {
                            "title": "CorrelationId",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                        },
                        "transferAmount": {
                            "title": "Money",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Money.",
                            "properties": {
                                "currency": {
                                    "title": "Currency",
                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                    "type": "string",
                                    "minLength": 3,
                                    "maxLength": 3,
                                    "enum": [
                                        "AED",
                                        "AFN",
                                        "ALL",
                                        "AMD",
                                        "ANG",
                                        "AOA",
                                        "ARS",
                                        "AUD",
                                        "AWG",
                                        "AZN",
                                        "BAM",
                                        "BBD",
                                        "BDT",
                                        "BGN",
                                        "BHD",
                                        "BIF",
                                        "BMD",
                                        "BND",
                                        "BOB",
                                        "BRL",
                                        "BSD",
                                        "BTN",
                                        "BWP",
                                        "BYN",
                                        "BZD",
                                        "CAD",
                                        "CDF",
                                        "CHF",
                                        "CLP",
                                        "CNY",
                                        "COP",
                                        "CRC",
                                        "CUC",
                                        "CUP",
                                        "CVE",
                                        "CZK",
                                        "DJF",
                                        "DKK",
                                        "DOP",
                                        "DZD",
                                        "EGP",
                                        "ERN",
                                        "ETB",
                                        "EUR",
                                        "FJD",
                                        "FKP",
                                        "GBP",
                                        "GEL",
                                        "GGP",
                                        "GHS",
                                        "GIP",
                                        "GMD",
                                        "GNF",
                                        "GTQ",
                                        "GYD",
                                        "HKD",
                                        "HNL",
                                        "HRK",
                                        "HTG",
                                        "HUF",
                                        "IDR",
                                        "ILS",
                                        "IMP",
                                        "INR",
                                        "IQD",
                                        "IRR",
                                        "ISK",
                                        "JEP",
                                        "JMD",
                                        "JOD",
                                        "JPY",
                                        "KES",
                                        "KGS",
                                        "KHR",
                                        "KMF",
                                        "KPW",
                                        "KRW",
                                        "KWD",
                                        "KYD",
                                        "KZT",
                                        "LAK",
                                        "LBP",
                                        "LKR",
                                        "LRD",
                                        "LSL",
                                        "LYD",
                                        "MAD",
                                        "MDL",
                                        "MGA",
                                        "MKD",
                                        "MMK",
                                        "MNT",
                                        "MOP",
                                        "MRO",
                                        "MUR",
                                        "MVR",
                                        "MWK",
                                        "MXN",
                                        "MYR",
                                        "MZN",
                                        "NAD",
                                        "NGN",
                                        "NIO",
                                        "NOK",
                                        "NPR",
                                        "NZD",
                                        "OMR",
                                        "PAB",
                                        "PEN",
                                        "PGK",
                                        "PHP",
                                        "PKR",
                                        "PLN",
                                        "PYG",
                                        "QAR",
                                        "RON",
                                        "RSD",
                                        "RUB",
                                        "RWF",
                                        "SAR",
                                        "SBD",
                                        "SCR",
                                        "SDG",
                                        "SEK",
                                        "SGD",
                                        "SHP",
                                        "SLL",
                                        "SOS",
                                        "SPL",
                                        "SRD",
                                        "STD",
                                        "SVC",
                                        "SYP",
                                        "SZL",
                                        "THB",
                                        "TJS",
                                        "TMT",
                                        "TND",
                                        "TOP",
                                        "TRY",
                                        "TTD",
                                        "TVD",
                                        "TWD",
                                        "TZS",
                                        "UAH",
                                        "UGX",
                                        "USD",
                                        "UYU",
                                        "UZS",
                                        "VEF",
                                        "VND",
                                        "VUV",
                                        "WST",
                                        "XAF",
                                        "XCD",
                                        "XDR",
                                        "XOF",
                                        "XPF",
                                        "XTS",
                                        "XXX",
                                        "YER",
                                        "ZAR",
                                        "ZMW",
                                        "ZWD"
                                    ]
                                },
                                "amount": {
                                    "title": "Amount",
                                    "type": "string",
                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                    "example": "123.45"
                                }
                            },
                            "required": [
                                "currency",
                                "amount"
                            ]
                        },
                        "payeeReceiveAmount": {
                            "title": "Money",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Money.",
                            "properties": {
                                "currency": {
                                    "title": "Currency",
                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                    "type": "string",
                                    "minLength": 3,
                                    "maxLength": 3,
                                    "enum": [
                                        "AED",
                                        "AFN",
                                        "ALL",
                                        "AMD",
                                        "ANG",
                                        "AOA",
                                        "ARS",
                                        "AUD",
                                        "AWG",
                                        "AZN",
                                        "BAM",
                                        "BBD",
                                        "BDT",
                                        "BGN",
                                        "BHD",
                                        "BIF",
                                        "BMD",
                                        "BND",
                                        "BOB",
                                        "BRL",
                                        "BSD",
                                        "BTN",
                                        "BWP",
                                        "BYN",
                                        "BZD",
                                        "CAD",
                                        "CDF",
                                        "CHF",
                                        "CLP",
                                        "CNY",
                                        "COP",
                                        "CRC",
                                        "CUC",
                                        "CUP",
                                        "CVE",
                                        "CZK",
                                        "DJF",
                                        "DKK",
                                        "DOP",
                                        "DZD",
                                        "EGP",
                                        "ERN",
                                        "ETB",
                                        "EUR",
                                        "FJD",
                                        "FKP",
                                        "GBP",
                                        "GEL",
                                        "GGP",
                                        "GHS",
                                        "GIP",
                                        "GMD",
                                        "GNF",
                                        "GTQ",
                                        "GYD",
                                        "HKD",
                                        "HNL",
                                        "HRK",
                                        "HTG",
                                        "HUF",
                                        "IDR",
                                        "ILS",
                                        "IMP",
                                        "INR",
                                        "IQD",
                                        "IRR",
                                        "ISK",
                                        "JEP",
                                        "JMD",
                                        "JOD",
                                        "JPY",
                                        "KES",
                                        "KGS",
                                        "KHR",
                                        "KMF",
                                        "KPW",
                                        "KRW",
                                        "KWD",
                                        "KYD",
                                        "KZT",
                                        "LAK",
                                        "LBP",
                                        "LKR",
                                        "LRD",
                                        "LSL",
                                        "LYD",
                                        "MAD",
                                        "MDL",
                                        "MGA",
                                        "MKD",
                                        "MMK",
                                        "MNT",
                                        "MOP",
                                        "MRO",
                                        "MUR",
                                        "MVR",
                                        "MWK",
                                        "MXN",
                                        "MYR",
                                        "MZN",
                                        "NAD",
                                        "NGN",
                                        "NIO",
                                        "NOK",
                                        "NPR",
                                        "NZD",
                                        "OMR",
                                        "PAB",
                                        "PEN",
                                        "PGK",
                                        "PHP",
                                        "PKR",
                                        "PLN",
                                        "PYG",
                                        "QAR",
                                        "RON",
                                        "RSD",
                                        "RUB",
                                        "RWF",
                                        "SAR",
                                        "SBD",
                                        "SCR",
                                        "SDG",
                                        "SEK",
                                        "SGD",
                                        "SHP",
                                        "SLL",
                                        "SOS",
                                        "SPL",
                                        "SRD",
                                        "STD",
                                        "SVC",
                                        "SYP",
                                        "SZL",
                                        "THB",
                                        "TJS",
                                        "TMT",
                                        "TND",
                                        "TOP",
                                        "TRY",
                                        "TTD",
                                        "TVD",
                                        "TWD",
                                        "TZS",
                                        "UAH",
                                        "UGX",
                                        "USD",
                                        "UYU",
                                        "UZS",
                                        "VEF",
                                        "VND",
                                        "VUV",
                                        "WST",
                                        "XAF",
                                        "XCD",
                                        "XDR",
                                        "XOF",
                                        "XPF",
                                        "XTS",
                                        "XXX",
                                        "YER",
                                        "ZAR",
                                        "ZMW",
                                        "ZWD"
                                    ]
                                },
                                "amount": {
                                    "title": "Amount",
                                    "type": "string",
                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                    "example": "123.45"
                                }
                            },
                            "required": [
                                "currency",
                                "amount"
                            ]
                        },
                        "payeeFspFee": {
                            "title": "Money",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Money.",
                            "properties": {
                                "currency": {
                                    "title": "Currency",
                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                    "type": "string",
                                    "minLength": 3,
                                    "maxLength": 3,
                                    "enum": [
                                        "AED",
                                        "AFN",
                                        "ALL",
                                        "AMD",
                                        "ANG",
                                        "AOA",
                                        "ARS",
                                        "AUD",
                                        "AWG",
                                        "AZN",
                                        "BAM",
                                        "BBD",
                                        "BDT",
                                        "BGN",
                                        "BHD",
                                        "BIF",
                                        "BMD",
                                        "BND",
                                        "BOB",
                                        "BRL",
                                        "BSD",
                                        "BTN",
                                        "BWP",
                                        "BYN",
                                        "BZD",
                                        "CAD",
                                        "CDF",
                                        "CHF",
                                        "CLP",
                                        "CNY",
                                        "COP",
                                        "CRC",
                                        "CUC",
                                        "CUP",
                                        "CVE",
                                        "CZK",
                                        "DJF",
                                        "DKK",
                                        "DOP",
                                        "DZD",
                                        "EGP",
                                        "ERN",
                                        "ETB",
                                        "EUR",
                                        "FJD",
                                        "FKP",
                                        "GBP",
                                        "GEL",
                                        "GGP",
                                        "GHS",
                                        "GIP",
                                        "GMD",
                                        "GNF",
                                        "GTQ",
                                        "GYD",
                                        "HKD",
                                        "HNL",
                                        "HRK",
                                        "HTG",
                                        "HUF",
                                        "IDR",
                                        "ILS",
                                        "IMP",
                                        "INR",
                                        "IQD",
                                        "IRR",
                                        "ISK",
                                        "JEP",
                                        "JMD",
                                        "JOD",
                                        "JPY",
                                        "KES",
                                        "KGS",
                                        "KHR",
                                        "KMF",
                                        "KPW",
                                        "KRW",
                                        "KWD",
                                        "KYD",
                                        "KZT",
                                        "LAK",
                                        "LBP",
                                        "LKR",
                                        "LRD",
                                        "LSL",
                                        "LYD",
                                        "MAD",
                                        "MDL",
                                        "MGA",
                                        "MKD",
                                        "MMK",
                                        "MNT",
                                        "MOP",
                                        "MRO",
                                        "MUR",
                                        "MVR",
                                        "MWK",
                                        "MXN",
                                        "MYR",
                                        "MZN",
                                        "NAD",
                                        "NGN",
                                        "NIO",
                                        "NOK",
                                        "NPR",
                                        "NZD",
                                        "OMR",
                                        "PAB",
                                        "PEN",
                                        "PGK",
                                        "PHP",
                                        "PKR",
                                        "PLN",
                                        "PYG",
                                        "QAR",
                                        "RON",
                                        "RSD",
                                        "RUB",
                                        "RWF",
                                        "SAR",
                                        "SBD",
                                        "SCR",
                                        "SDG",
                                        "SEK",
                                        "SGD",
                                        "SHP",
                                        "SLL",
                                        "SOS",
                                        "SPL",
                                        "SRD",
                                        "STD",
                                        "SVC",
                                        "SYP",
                                        "SZL",
                                        "THB",
                                        "TJS",
                                        "TMT",
                                        "TND",
                                        "TOP",
                                        "TRY",
                                        "TTD",
                                        "TVD",
                                        "TWD",
                                        "TZS",
                                        "UAH",
                                        "UGX",
                                        "USD",
                                        "UYU",
                                        "UZS",
                                        "VEF",
                                        "VND",
                                        "VUV",
                                        "WST",
                                        "XAF",
                                        "XCD",
                                        "XDR",
                                        "XOF",
                                        "XPF",
                                        "XTS",
                                        "XXX",
                                        "YER",
                                        "ZAR",
                                        "ZMW",
                                        "ZWD"
                                    ]
                                },
                                "amount": {
                                    "title": "Amount",
                                    "type": "string",
                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                    "example": "123.45"
                                }
                            },
                            "required": [
                                "currency",
                                "amount"
                            ]
                        },
                        "payeeFspCommission": {
                            "title": "Money",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Money.",
                            "properties": {
                                "currency": {
                                    "title": "Currency",
                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                    "type": "string",
                                    "minLength": 3,
                                    "maxLength": 3,
                                    "enum": [
                                        "AED",
                                        "AFN",
                                        "ALL",
                                        "AMD",
                                        "ANG",
                                        "AOA",
                                        "ARS",
                                        "AUD",
                                        "AWG",
                                        "AZN",
                                        "BAM",
                                        "BBD",
                                        "BDT",
                                        "BGN",
                                        "BHD",
                                        "BIF",
                                        "BMD",
                                        "BND",
                                        "BOB",
                                        "BRL",
                                        "BSD",
                                        "BTN",
                                        "BWP",
                                        "BYN",
                                        "BZD",
                                        "CAD",
                                        "CDF",
                                        "CHF",
                                        "CLP",
                                        "CNY",
                                        "COP",
                                        "CRC",
                                        "CUC",
                                        "CUP",
                                        "CVE",
                                        "CZK",
                                        "DJF",
                                        "DKK",
                                        "DOP",
                                        "DZD",
                                        "EGP",
                                        "ERN",
                                        "ETB",
                                        "EUR",
                                        "FJD",
                                        "FKP",
                                        "GBP",
                                        "GEL",
                                        "GGP",
                                        "GHS",
                                        "GIP",
                                        "GMD",
                                        "GNF",
                                        "GTQ",
                                        "GYD",
                                        "HKD",
                                        "HNL",
                                        "HRK",
                                        "HTG",
                                        "HUF",
                                        "IDR",
                                        "ILS",
                                        "IMP",
                                        "INR",
                                        "IQD",
                                        "IRR",
                                        "ISK",
                                        "JEP",
                                        "JMD",
                                        "JOD",
                                        "JPY",
                                        "KES",
                                        "KGS",
                                        "KHR",
                                        "KMF",
                                        "KPW",
                                        "KRW",
                                        "KWD",
                                        "KYD",
                                        "KZT",
                                        "LAK",
                                        "LBP",
                                        "LKR",
                                        "LRD",
                                        "LSL",
                                        "LYD",
                                        "MAD",
                                        "MDL",
                                        "MGA",
                                        "MKD",
                                        "MMK",
                                        "MNT",
                                        "MOP",
                                        "MRO",
                                        "MUR",
                                        "MVR",
                                        "MWK",
                                        "MXN",
                                        "MYR",
                                        "MZN",
                                        "NAD",
                                        "NGN",
                                        "NIO",
                                        "NOK",
                                        "NPR",
                                        "NZD",
                                        "OMR",
                                        "PAB",
                                        "PEN",
                                        "PGK",
                                        "PHP",
                                        "PKR",
                                        "PLN",
                                        "PYG",
                                        "QAR",
                                        "RON",
                                        "RSD",
                                        "RUB",
                                        "RWF",
                                        "SAR",
                                        "SBD",
                                        "SCR",
                                        "SDG",
                                        "SEK",
                                        "SGD",
                                        "SHP",
                                        "SLL",
                                        "SOS",
                                        "SPL",
                                        "SRD",
                                        "STD",
                                        "SVC",
                                        "SYP",
                                        "SZL",
                                        "THB",
                                        "TJS",
                                        "TMT",
                                        "TND",
                                        "TOP",
                                        "TRY",
                                        "TTD",
                                        "TVD",
                                        "TWD",
                                        "TZS",
                                        "UAH",
                                        "UGX",
                                        "USD",
                                        "UYU",
                                        "UZS",
                                        "VEF",
                                        "VND",
                                        "VUV",
                                        "WST",
                                        "XAF",
                                        "XCD",
                                        "XDR",
                                        "XOF",
                                        "XPF",
                                        "XTS",
                                        "XXX",
                                        "YER",
                                        "ZAR",
                                        "ZMW",
                                        "ZWD"
                                    ]
                                },
                                "amount": {
                                    "title": "Amount",
                                    "type": "string",
                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                    "example": "123.45"
                                }
                            },
                            "required": [
                                "currency",
                                "amount"
                            ]
                        },
                        "geoCode": {
                            "title": "GeoCode",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                            "properties": {
                                "latitude": {
                                    "title": "Latitude",
                                    "type": "string",
                                    "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                    "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                    "example": "+45.4215"
                                },
                                "longitude": {
                                    "title": "Longitude",
                                    "type": "string",
                                    "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                    "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                    "example": "+75.6972"
                                }
                            },
                            "required": [
                                "latitude",
                                "longitude"
                            ]
                        },
                        "ilpPacket": {
                            "title": "IlpPacket",
                            "type": "string",
                            "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                            "minLength": 1,
                            "maxLength": 32768,
                            "description": "Information for recipient (transport layer information).",
                            "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
                        },
                        "condition": {
                            "title": "IlpCondition",
                            "type": "string",
                            "pattern": "^[A-Za-z0-9-_]{43}$",
                            "maxLength": 48,
                            "description": "Condition that must be attached to the transfer by the Payer."
                        },
                        "extensionList": {
                            "title": "ExtensionList",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                            "properties": {
                                "extension": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 1,
                                    "maxItems": 16,
                                    "description": "Number of Extension elements."
                                }
                            },
                            "required": [
                                "extension"
                            ]
                        },
                        "lastError": {
                            "type": "object",
                            "additionalProperties": false,
                            "description": "This object represents a Mojaloop API error received at any time during the quote process",
                            "properties": {
                                "httpStatusCode": {
                                    "type": "integer",
                                    "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                },
                                "mojaloopError": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "properties": {
                                        "errorInformation": {
                                            "title": "ErrorInformation",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type ErrorInformation.",
                                            "properties": {
                                                "errorCode": {
                                                    "title": "ErrorCode",
                                                    "type": "string",
                                                    "pattern": "^[1-9]\\d{3}$",
                                                    "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                    "example": "5100"
                                                },
                                                "errorDescription": {
                                                    "title": "ErrorDescription",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Error description string."
                                                },
                                                "extensionList": {
                                                    "title": "ExtensionList",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                    "properties": {
                                                        "extension": {
                                                            "type": "array",
                                                            "items": {
                                                                "title": "Extension",
                                                                "type": "object",
                                                                "additionalProperties": false,
                                                                "description": "Data model for the complex type Extension.",
                                                                "properties": {
                                                                    "key": {
                                                                        "title": "ExtensionKey",
                                                                        "type": "string",
                                                                        "minLength": 1,
                                                                        "maxLength": 32,
                                                                        "description": "Extension key."
                                                                    },
                                                                    "value": {
                                                                        "title": "ExtensionValue",
                                                                        "type": "string",
                                                                        "minLength": 1,
                                                                        "maxLength": 128,
                                                                        "description": "Extension value."
                                                                    }
                                                                },
                                                                "required": [
                                                                    "key",
                                                                    "value"
                                                                ]
                                                            },
                                                            "minItems": 1,
                                                            "maxItems": 16,
                                                            "description": "Number of Extension elements."
                                                        }
                                                    },
                                                    "required": [
                                                        "extension"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "errorCode",
                                                "errorDescription"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "required": [
                        "quoteId"
                    ]
                },
                "description": "List of individualQuoteResults in a bulk transfer response."
            }
        }
    },
    "bulkQuoteErrorResponse": {
        "allOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Error code as string."
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message text."
                    }
                }
            },
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "bulkQuoteState"
                ],
                "properties": {
                    "bulkQuoteState": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "bulkQuoteId",
                            "individualQuoteResults",
                            "currentState",
                            "expiration"
                        ],
                        "properties": {
                            "bulkQuoteId": {
                                "title": "CorrelationId",
                                "type": "string",
                                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                            },
                            "homeTransactionId": {
                                "type": "string",
                                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
                            },
                            "expiration": {
                                "title": "DateTime",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            },
                            "currentState": {
                                "type": "string",
                                "enum": [
                                    "ERROR_OCCURRED",
                                    "COMPLETED"
                                ]
                            },
                            "individualQuoteResults": {
                                "type": "array",
                                "maxItems": 1000,
                                "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "properties": {
                                        "quoteId": {
                                            "title": "CorrelationId",
                                            "type": "string",
                                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                                        },
                                        "transferAmount": {
                                            "title": "Money",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Money.",
                                            "properties": {
                                                "currency": {
                                                    "title": "Currency",
                                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                    "type": "string",
                                                    "minLength": 3,
                                                    "maxLength": 3,
                                                    "enum": [
                                                        "AED",
                                                        "AFN",
                                                        "ALL",
                                                        "AMD",
                                                        "ANG",
                                                        "AOA",
                                                        "ARS",
                                                        "AUD",
                                                        "AWG",
                                                        "AZN",
                                                        "BAM",
                                                        "BBD",
                                                        "BDT",
                                                        "BGN",
                                                        "BHD",
                                                        "BIF",
                                                        "BMD",
                                                        "BND",
                                                        "BOB",
                                                        "BRL",
                                                        "BSD",
                                                        "BTN",
                                                        "BWP",
                                                        "BYN",
                                                        "BZD",
                                                        "CAD",
                                                        "CDF",
                                                        "CHF",
                                                        "CLP",
                                                        "CNY",
                                                        "COP",
                                                        "CRC",
                                                        "CUC",
                                                        "CUP",
                                                        "CVE",
                                                        "CZK",
                                                        "DJF",
                                                        "DKK",
                                                        "DOP",
                                                        "DZD",
                                                        "EGP",
                                                        "ERN",
                                                        "ETB",
                                                        "EUR",
                                                        "FJD",
                                                        "FKP",
                                                        "GBP",
                                                        "GEL",
                                                        "GGP",
                                                        "GHS",
                                                        "GIP",
                                                        "GMD",
                                                        "GNF",
                                                        "GTQ",
                                                        "GYD",
                                                        "HKD",
                                                        "HNL",
                                                        "HRK",
                                                        "HTG",
                                                        "HUF",
                                                        "IDR",
                                                        "ILS",
                                                        "IMP",
                                                        "INR",
                                                        "IQD",
                                                        "IRR",
                                                        "ISK",
                                                        "JEP",
                                                        "JMD",
                                                        "JOD",
                                                        "JPY",
                                                        "KES",
                                                        "KGS",
                                                        "KHR",
                                                        "KMF",
                                                        "KPW",
                                                        "KRW",
                                                        "KWD",
                                                        "KYD",
                                                        "KZT",
                                                        "LAK",
                                                        "LBP",
                                                        "LKR",
                                                        "LRD",
                                                        "LSL",
                                                        "LYD",
                                                        "MAD",
                                                        "MDL",
                                                        "MGA",
                                                        "MKD",
                                                        "MMK",
                                                        "MNT",
                                                        "MOP",
                                                        "MRO",
                                                        "MUR",
                                                        "MVR",
                                                        "MWK",
                                                        "MXN",
                                                        "MYR",
                                                        "MZN",
                                                        "NAD",
                                                        "NGN",
                                                        "NIO",
                                                        "NOK",
                                                        "NPR",
                                                        "NZD",
                                                        "OMR",
                                                        "PAB",
                                                        "PEN",
                                                        "PGK",
                                                        "PHP",
                                                        "PKR",
                                                        "PLN",
                                                        "PYG",
                                                        "QAR",
                                                        "RON",
                                                        "RSD",
                                                        "RUB",
                                                        "RWF",
                                                        "SAR",
                                                        "SBD",
                                                        "SCR",
                                                        "SDG",
                                                        "SEK",
                                                        "SGD",
                                                        "SHP",
                                                        "SLL",
                                                        "SOS",
                                                        "SPL",
                                                        "SRD",
                                                        "STD",
                                                        "SVC",
                                                        "SYP",
                                                        "SZL",
                                                        "THB",
                                                        "TJS",
                                                        "TMT",
                                                        "TND",
                                                        "TOP",
                                                        "TRY",
                                                        "TTD",
                                                        "TVD",
                                                        "TWD",
                                                        "TZS",
                                                        "UAH",
                                                        "UGX",
                                                        "USD",
                                                        "UYU",
                                                        "UZS",
                                                        "VEF",
                                                        "VND",
                                                        "VUV",
                                                        "WST",
                                                        "XAF",
                                                        "XCD",
                                                        "XDR",
                                                        "XOF",
                                                        "XPF",
                                                        "XTS",
                                                        "XXX",
                                                        "YER",
                                                        "ZAR",
                                                        "ZMW",
                                                        "ZWD"
                                                    ]
                                                },
                                                "amount": {
                                                    "title": "Amount",
                                                    "type": "string",
                                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                    "example": "123.45"
                                                }
                                            },
                                            "required": [
                                                "currency",
                                                "amount"
                                            ]
                                        },
                                        "payeeReceiveAmount": {
                                            "title": "Money",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Money.",
                                            "properties": {
                                                "currency": {
                                                    "title": "Currency",
                                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                    "type": "string",
                                                    "minLength": 3,
                                                    "maxLength": 3,
                                                    "enum": [
                                                        "AED",
                                                        "AFN",
                                                        "ALL",
                                                        "AMD",
                                                        "ANG",
                                                        "AOA",
                                                        "ARS",
                                                        "AUD",
                                                        "AWG",
                                                        "AZN",
                                                        "BAM",
                                                        "BBD",
                                                        "BDT",
                                                        "BGN",
                                                        "BHD",
                                                        "BIF",
                                                        "BMD",
                                                        "BND",
                                                        "BOB",
                                                        "BRL",
                                                        "BSD",
                                                        "BTN",
                                                        "BWP",
                                                        "BYN",
                                                        "BZD",
                                                        "CAD",
                                                        "CDF",
                                                        "CHF",
                                                        "CLP",
                                                        "CNY",
                                                        "COP",
                                                        "CRC",
                                                        "CUC",
                                                        "CUP",
                                                        "CVE",
                                                        "CZK",
                                                        "DJF",
                                                        "DKK",
                                                        "DOP",
                                                        "DZD",
                                                        "EGP",
                                                        "ERN",
                                                        "ETB",
                                                        "EUR",
                                                        "FJD",
                                                        "FKP",
                                                        "GBP",
                                                        "GEL",
                                                        "GGP",
                                                        "GHS",
                                                        "GIP",
                                                        "GMD",
                                                        "GNF",
                                                        "GTQ",
                                                        "GYD",
                                                        "HKD",
                                                        "HNL",
                                                        "HRK",
                                                        "HTG",
                                                        "HUF",
                                                        "IDR",
                                                        "ILS",
                                                        "IMP",
                                                        "INR",
                                                        "IQD",
                                                        "IRR",
                                                        "ISK",
                                                        "JEP",
                                                        "JMD",
                                                        "JOD",
                                                        "JPY",
                                                        "KES",
                                                        "KGS",
                                                        "KHR",
                                                        "KMF",
                                                        "KPW",
                                                        "KRW",
                                                        "KWD",
                                                        "KYD",
                                                        "KZT",
                                                        "LAK",
                                                        "LBP",
                                                        "LKR",
                                                        "LRD",
                                                        "LSL",
                                                        "LYD",
                                                        "MAD",
                                                        "MDL",
                                                        "MGA",
                                                        "MKD",
                                                        "MMK",
                                                        "MNT",
                                                        "MOP",
                                                        "MRO",
                                                        "MUR",
                                                        "MVR",
                                                        "MWK",
                                                        "MXN",
                                                        "MYR",
                                                        "MZN",
                                                        "NAD",
                                                        "NGN",
                                                        "NIO",
                                                        "NOK",
                                                        "NPR",
                                                        "NZD",
                                                        "OMR",
                                                        "PAB",
                                                        "PEN",
                                                        "PGK",
                                                        "PHP",
                                                        "PKR",
                                                        "PLN",
                                                        "PYG",
                                                        "QAR",
                                                        "RON",
                                                        "RSD",
                                                        "RUB",
                                                        "RWF",
                                                        "SAR",
                                                        "SBD",
                                                        "SCR",
                                                        "SDG",
                                                        "SEK",
                                                        "SGD",
                                                        "SHP",
                                                        "SLL",
                                                        "SOS",
                                                        "SPL",
                                                        "SRD",
                                                        "STD",
                                                        "SVC",
                                                        "SYP",
                                                        "SZL",
                                                        "THB",
                                                        "TJS",
                                                        "TMT",
                                                        "TND",
                                                        "TOP",
                                                        "TRY",
                                                        "TTD",
                                                        "TVD",
                                                        "TWD",
                                                        "TZS",
                                                        "UAH",
                                                        "UGX",
                                                        "USD",
                                                        "UYU",
                                                        "UZS",
                                                        "VEF",
                                                        "VND",
                                                        "VUV",
                                                        "WST",
                                                        "XAF",
                                                        "XCD",
                                                        "XDR",
                                                        "XOF",
                                                        "XPF",
                                                        "XTS",
                                                        "XXX",
                                                        "YER",
                                                        "ZAR",
                                                        "ZMW",
                                                        "ZWD"
                                                    ]
                                                },
                                                "amount": {
                                                    "title": "Amount",
                                                    "type": "string",
                                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                    "example": "123.45"
                                                }
                                            },
                                            "required": [
                                                "currency",
                                                "amount"
                                            ]
                                        },
                                        "payeeFspFee": {
                                            "title": "Money",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Money.",
                                            "properties": {
                                                "currency": {
                                                    "title": "Currency",
                                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                    "type": "string",
                                                    "minLength": 3,
                                                    "maxLength": 3,
                                                    "enum": [
                                                        "AED",
                                                        "AFN",
                                                        "ALL",
                                                        "AMD",
                                                        "ANG",
                                                        "AOA",
                                                        "ARS",
                                                        "AUD",
                                                        "AWG",
                                                        "AZN",
                                                        "BAM",
                                                        "BBD",
                                                        "BDT",
                                                        "BGN",
                                                        "BHD",
                                                        "BIF",
                                                        "BMD",
                                                        "BND",
                                                        "BOB",
                                                        "BRL",
                                                        "BSD",
                                                        "BTN",
                                                        "BWP",
                                                        "BYN",
                                                        "BZD",
                                                        "CAD",
                                                        "CDF",
                                                        "CHF",
                                                        "CLP",
                                                        "CNY",
                                                        "COP",
                                                        "CRC",
                                                        "CUC",
                                                        "CUP",
                                                        "CVE",
                                                        "CZK",
                                                        "DJF",
                                                        "DKK",
                                                        "DOP",
                                                        "DZD",
                                                        "EGP",
                                                        "ERN",
                                                        "ETB",
                                                        "EUR",
                                                        "FJD",
                                                        "FKP",
                                                        "GBP",
                                                        "GEL",
                                                        "GGP",
                                                        "GHS",
                                                        "GIP",
                                                        "GMD",
                                                        "GNF",
                                                        "GTQ",
                                                        "GYD",
                                                        "HKD",
                                                        "HNL",
                                                        "HRK",
                                                        "HTG",
                                                        "HUF",
                                                        "IDR",
                                                        "ILS",
                                                        "IMP",
                                                        "INR",
                                                        "IQD",
                                                        "IRR",
                                                        "ISK",
                                                        "JEP",
                                                        "JMD",
                                                        "JOD",
                                                        "JPY",
                                                        "KES",
                                                        "KGS",
                                                        "KHR",
                                                        "KMF",
                                                        "KPW",
                                                        "KRW",
                                                        "KWD",
                                                        "KYD",
                                                        "KZT",
                                                        "LAK",
                                                        "LBP",
                                                        "LKR",
                                                        "LRD",
                                                        "LSL",
                                                        "LYD",
                                                        "MAD",
                                                        "MDL",
                                                        "MGA",
                                                        "MKD",
                                                        "MMK",
                                                        "MNT",
                                                        "MOP",
                                                        "MRO",
                                                        "MUR",
                                                        "MVR",
                                                        "MWK",
                                                        "MXN",
                                                        "MYR",
                                                        "MZN",
                                                        "NAD",
                                                        "NGN",
                                                        "NIO",
                                                        "NOK",
                                                        "NPR",
                                                        "NZD",
                                                        "OMR",
                                                        "PAB",
                                                        "PEN",
                                                        "PGK",
                                                        "PHP",
                                                        "PKR",
                                                        "PLN",
                                                        "PYG",
                                                        "QAR",
                                                        "RON",
                                                        "RSD",
                                                        "RUB",
                                                        "RWF",
                                                        "SAR",
                                                        "SBD",
                                                        "SCR",
                                                        "SDG",
                                                        "SEK",
                                                        "SGD",
                                                        "SHP",
                                                        "SLL",
                                                        "SOS",
                                                        "SPL",
                                                        "SRD",
                                                        "STD",
                                                        "SVC",
                                                        "SYP",
                                                        "SZL",
                                                        "THB",
                                                        "TJS",
                                                        "TMT",
                                                        "TND",
                                                        "TOP",
                                                        "TRY",
                                                        "TTD",
                                                        "TVD",
                                                        "TWD",
                                                        "TZS",
                                                        "UAH",
                                                        "UGX",
                                                        "USD",
                                                        "UYU",
                                                        "UZS",
                                                        "VEF",
                                                        "VND",
                                                        "VUV",
                                                        "WST",
                                                        "XAF",
                                                        "XCD",
                                                        "XDR",
                                                        "XOF",
                                                        "XPF",
                                                        "XTS",
                                                        "XXX",
                                                        "YER",
                                                        "ZAR",
                                                        "ZMW",
                                                        "ZWD"
                                                    ]
                                                },
                                                "amount": {
                                                    "title": "Amount",
                                                    "type": "string",
                                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                    "example": "123.45"
                                                }
                                            },
                                            "required": [
                                                "currency",
                                                "amount"
                                            ]
                                        },
                                        "payeeFspCommission": {
                                            "title": "Money",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Money.",
                                            "properties": {
                                                "currency": {
                                                    "title": "Currency",
                                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                    "type": "string",
                                                    "minLength": 3,
                                                    "maxLength": 3,
                                                    "enum": [
                                                        "AED",
                                                        "AFN",
                                                        "ALL",
                                                        "AMD",
                                                        "ANG",
                                                        "AOA",
                                                        "ARS",
                                                        "AUD",
                                                        "AWG",
                                                        "AZN",
                                                        "BAM",
                                                        "BBD",
                                                        "BDT",
                                                        "BGN",
                                                        "BHD",
                                                        "BIF",
                                                        "BMD",
                                                        "BND",
                                                        "BOB",
                                                        "BRL",
                                                        "BSD",
                                                        "BTN",
                                                        "BWP",
                                                        "BYN",
                                                        "BZD",
                                                        "CAD",
                                                        "CDF",
                                                        "CHF",
                                                        "CLP",
                                                        "CNY",
                                                        "COP",
                                                        "CRC",
                                                        "CUC",
                                                        "CUP",
                                                        "CVE",
                                                        "CZK",
                                                        "DJF",
                                                        "DKK",
                                                        "DOP",
                                                        "DZD",
                                                        "EGP",
                                                        "ERN",
                                                        "ETB",
                                                        "EUR",
                                                        "FJD",
                                                        "FKP",
                                                        "GBP",
                                                        "GEL",
                                                        "GGP",
                                                        "GHS",
                                                        "GIP",
                                                        "GMD",
                                                        "GNF",
                                                        "GTQ",
                                                        "GYD",
                                                        "HKD",
                                                        "HNL",
                                                        "HRK",
                                                        "HTG",
                                                        "HUF",
                                                        "IDR",
                                                        "ILS",
                                                        "IMP",
                                                        "INR",
                                                        "IQD",
                                                        "IRR",
                                                        "ISK",
                                                        "JEP",
                                                        "JMD",
                                                        "JOD",
                                                        "JPY",
                                                        "KES",
                                                        "KGS",
                                                        "KHR",
                                                        "KMF",
                                                        "KPW",
                                                        "KRW",
                                                        "KWD",
                                                        "KYD",
                                                        "KZT",
                                                        "LAK",
                                                        "LBP",
                                                        "LKR",
                                                        "LRD",
                                                        "LSL",
                                                        "LYD",
                                                        "MAD",
                                                        "MDL",
                                                        "MGA",
                                                        "MKD",
                                                        "MMK",
                                                        "MNT",
                                                        "MOP",
                                                        "MRO",
                                                        "MUR",
                                                        "MVR",
                                                        "MWK",
                                                        "MXN",
                                                        "MYR",
                                                        "MZN",
                                                        "NAD",
                                                        "NGN",
                                                        "NIO",
                                                        "NOK",
                                                        "NPR",
                                                        "NZD",
                                                        "OMR",
                                                        "PAB",
                                                        "PEN",
                                                        "PGK",
                                                        "PHP",
                                                        "PKR",
                                                        "PLN",
                                                        "PYG",
                                                        "QAR",
                                                        "RON",
                                                        "RSD",
                                                        "RUB",
                                                        "RWF",
                                                        "SAR",
                                                        "SBD",
                                                        "SCR",
                                                        "SDG",
                                                        "SEK",
                                                        "SGD",
                                                        "SHP",
                                                        "SLL",
                                                        "SOS",
                                                        "SPL",
                                                        "SRD",
                                                        "STD",
                                                        "SVC",
                                                        "SYP",
                                                        "SZL",
                                                        "THB",
                                                        "TJS",
                                                        "TMT",
                                                        "TND",
                                                        "TOP",
                                                        "TRY",
                                                        "TTD",
                                                        "TVD",
                                                        "TWD",
                                                        "TZS",
                                                        "UAH",
                                                        "UGX",
                                                        "USD",
                                                        "UYU",
                                                        "UZS",
                                                        "VEF",
                                                        "VND",
                                                        "VUV",
                                                        "WST",
                                                        "XAF",
                                                        "XCD",
                                                        "XDR",
                                                        "XOF",
                                                        "XPF",
                                                        "XTS",
                                                        "XXX",
                                                        "YER",
                                                        "ZAR",
                                                        "ZMW",
                                                        "ZWD"
                                                    ]
                                                },
                                                "amount": {
                                                    "title": "Amount",
                                                    "type": "string",
                                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                    "example": "123.45"
                                                }
                                            },
                                            "required": [
                                                "currency",
                                                "amount"
                                            ]
                                        },
                                        "geoCode": {
                                            "title": "GeoCode",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                                            "properties": {
                                                "latitude": {
                                                    "title": "Latitude",
                                                    "type": "string",
                                                    "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                                    "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                                    "example": "+45.4215"
                                                },
                                                "longitude": {
                                                    "title": "Longitude",
                                                    "type": "string",
                                                    "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                                    "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                                    "example": "+75.6972"
                                                }
                                            },
                                            "required": [
                                                "latitude",
                                                "longitude"
                                            ]
                                        },
                                        "ilpPacket": {
                                            "title": "IlpPacket",
                                            "type": "string",
                                            "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                                            "minLength": 1,
                                            "maxLength": 32768,
                                            "description": "Information for recipient (transport layer information).",
                                            "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
                                        },
                                        "condition": {
                                            "title": "IlpCondition",
                                            "type": "string",
                                            "pattern": "^[A-Za-z0-9-_]{43}$",
                                            "maxLength": 48,
                                            "description": "Condition that must be attached to the transfer by the Payer."
                                        },
                                        "extensionList": {
                                            "title": "ExtensionList",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                            "properties": {
                                                "extension": {
                                                    "type": "array",
                                                    "items": {
                                                        "title": "Extension",
                                                        "type": "object",
                                                        "additionalProperties": false,
                                                        "description": "Data model for the complex type Extension.",
                                                        "properties": {
                                                            "key": {
                                                                "title": "ExtensionKey",
                                                                "type": "string",
                                                                "minLength": 1,
                                                                "maxLength": 32,
                                                                "description": "Extension key."
                                                            },
                                                            "value": {
                                                                "title": "ExtensionValue",
                                                                "type": "string",
                                                                "minLength": 1,
                                                                "maxLength": 128,
                                                                "description": "Extension value."
                                                            }
                                                        },
                                                        "required": [
                                                            "key",
                                                            "value"
                                                        ]
                                                    },
                                                    "minItems": 1,
                                                    "maxItems": 16,
                                                    "description": "Number of Extension elements."
                                                }
                                            },
                                            "required": [
                                                "extension"
                                            ]
                                        },
                                        "lastError": {
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "This object represents a Mojaloop API error received at any time during the quote process",
                                            "properties": {
                                                "httpStatusCode": {
                                                    "type": "integer",
                                                    "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                                },
                                                "mojaloopError": {
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "properties": {
                                                        "errorInformation": {
                                                            "title": "ErrorInformation",
                                                            "type": "object",
                                                            "additionalProperties": false,
                                                            "description": "Data model for the complex type ErrorInformation.",
                                                            "properties": {
                                                                "errorCode": {
                                                                    "title": "ErrorCode",
                                                                    "type": "string",
                                                                    "pattern": "^[1-9]\\d{3}$",
                                                                    "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                                    "example": "5100"
                                                                },
                                                                "errorDescription": {
                                                                    "title": "ErrorDescription",
                                                                    "type": "string",
                                                                    "minLength": 1,
                                                                    "maxLength": 128,
                                                                    "description": "Error description string."
                                                                },
                                                                "extensionList": {
                                                                    "title": "ExtensionList",
                                                                    "type": "object",
                                                                    "additionalProperties": false,
                                                                    "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                                    "properties": {
                                                                        "extension": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "title": "Extension",
                                                                                "type": "object",
                                                                                "additionalProperties": false,
                                                                                "description": "Data model for the complex type Extension.",
                                                                                "properties": {
                                                                                    "key": {
                                                                                        "title": "ExtensionKey",
                                                                                        "type": "string",
                                                                                        "minLength": 1,
                                                                                        "maxLength": 32,
                                                                                        "description": "Extension key."
                                                                                    },
                                                                                    "value": {
                                                                                        "title": "ExtensionValue",
                                                                                        "type": "string",
                                                                                        "minLength": 1,
                                                                                        "maxLength": 128,
                                                                                        "description": "Extension value."
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "key",
                                                                                    "value"
                                                                                ]
                                                                            },
                                                                            "minItems": 1,
                                                                            "maxItems": 16,
                                                                            "description": "Number of Extension elements."
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "extension"
                                                                    ]
                                                                }
                                                            },
                                                            "required": [
                                                                "errorCode",
                                                                "errorDescription"
                                                            ]
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "required": [
                                        "quoteId"
                                    ]
                                },
                                "description": "List of individualQuoteResults in a bulk transfer response."
                            }
                        }
                    }
                }
            }
        ]
    },
    "bulkQuoteStatus": {
        "type": "string",
        "enum": [
            "ERROR_OCCURRED",
            "COMPLETED"
        ]
    },
    "bulkQuoteStatusResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "bulkQuoteId",
            "currentState",
            "individualQuotes"
        ],
        "properties": {
            "bulkQuoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "COMPLETED"
                ]
            },
            "individualQuotes": {
                "type": "array",
                "minItems": 1,
                "maxItems": 1000,
                "items": {
                    "title": "IndividualQuote",
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Data model for the complex type 'individualQuote'.",
                    "properties": {
                        "quoteId": {
                            "title": "CorrelationId",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                        },
                        "to": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "idType",
                                "idValue"
                            ],
                            "properties": {
                                "type": {
                                    "title": "TransactionInitiatorType",
                                    "type": "string",
                                    "enum": [
                                        "CONSUMER",
                                        "AGENT",
                                        "BUSINESS",
                                        "DEVICE"
                                    ],
                                    "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                                    "example": "CONSUMER"
                                },
                                "idType": {
                                    "title": "PartyIdType",
                                    "type": "string",
                                    "enum": [
                                        "MSISDN",
                                        "EMAIL",
                                        "PERSONAL_ID",
                                        "BUSINESS",
                                        "DEVICE",
                                        "ACCOUNT_ID",
                                        "IBAN",
                                        "ALIAS"
                                    ],
                                    "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                },
                                "idValue": {
                                    "title": "PartyIdentifier",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Identifier of the Party.",
                                    "example": "16135551212"
                                },
                                "idSubValue": {
                                    "title": "PartySubIdOrType",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                },
                                "displayName": {
                                    "title": "Name",
                                    "type": "string",
                                    "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                                    "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                                },
                                "firstName": {
                                    "title": "FirstName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "First name of the Party (Name Type).",
                                    "example": "Henrik"
                                },
                                "middleName": {
                                    "title": "MiddleName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "Middle name of the Party (Name Type).",
                                    "example": "Johannes"
                                },
                                "lastName": {
                                    "title": "LastName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "Last name of the Party (Name Type).",
                                    "example": "Karlsson"
                                },
                                "dateOfBirth": {
                                    "title": "DateofBirth (type Date)",
                                    "type": "string",
                                    "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                    "description": "Date of Birth of the Party.",
                                    "example": "1966-06-16"
                                },
                                "merchantClassificationCode": {
                                    "title": "MerchantClassificationCode",
                                    "type": "string",
                                    "pattern": "^[\\d]{1,4}$",
                                    "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                                },
                                "fspId": {
                                    "title": "FspId",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "FSP identifier."
                                },
                                "extensionList": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 0,
                                    "maxItems": 16
                                }
                            }
                        },
                        "amountType": {
                            "title": "AmountType",
                            "type": "string",
                            "enum": [
                                "SEND",
                                "RECEIVE"
                            ],
                            "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                            "example": "RECEIVE"
                        },
                        "currency": {
                            "title": "Currency",
                            "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 3,
                            "enum": [
                                "AED",
                                "AFN",
                                "ALL",
                                "AMD",
                                "ANG",
                                "AOA",
                                "ARS",
                                "AUD",
                                "AWG",
                                "AZN",
                                "BAM",
                                "BBD",
                                "BDT",
                                "BGN",
                                "BHD",
                                "BIF",
                                "BMD",
                                "BND",
                                "BOB",
                                "BRL",
                                "BSD",
                                "BTN",
                                "BWP",
                                "BYN",
                                "BZD",
                                "CAD",
                                "CDF",
                                "CHF",
                                "CLP",
                                "CNY",
                                "COP",
                                "CRC",
                                "CUC",
                                "CUP",
                                "CVE",
                                "CZK",
                                "DJF",
                                "DKK",
                                "DOP",
                                "DZD",
                                "EGP",
                                "ERN",
                                "ETB",
                                "EUR",
                                "FJD",
                                "FKP",
                                "GBP",
                                "GEL",
                                "GGP",
                                "GHS",
                                "GIP",
                                "GMD",
                                "GNF",
                                "GTQ",
                                "GYD",
                                "HKD",
                                "HNL",
                                "HRK",
                                "HTG",
                                "HUF",
                                "IDR",
                                "ILS",
                                "IMP",
                                "INR",
                                "IQD",
                                "IRR",
                                "ISK",
                                "JEP",
                                "JMD",
                                "JOD",
                                "JPY",
                                "KES",
                                "KGS",
                                "KHR",
                                "KMF",
                                "KPW",
                                "KRW",
                                "KWD",
                                "KYD",
                                "KZT",
                                "LAK",
                                "LBP",
                                "LKR",
                                "LRD",
                                "LSL",
                                "LYD",
                                "MAD",
                                "MDL",
                                "MGA",
                                "MKD",
                                "MMK",
                                "MNT",
                                "MOP",
                                "MRO",
                                "MUR",
                                "MVR",
                                "MWK",
                                "MXN",
                                "MYR",
                                "MZN",
                                "NAD",
                                "NGN",
                                "NIO",
                                "NOK",
                                "NPR",
                                "NZD",
                                "OMR",
                                "PAB",
                                "PEN",
                                "PGK",
                                "PHP",
                                "PKR",
                                "PLN",
                                "PYG",
                                "QAR",
                                "RON",
                                "RSD",
                                "RUB",
                                "RWF",
                                "SAR",
                                "SBD",
                                "SCR",
                                "SDG",
                                "SEK",
                                "SGD",
                                "SHP",
                                "SLL",
                                "SOS",
                                "SPL",
                                "SRD",
                                "STD",
                                "SVC",
                                "SYP",
                                "SZL",
                                "THB",
                                "TJS",
                                "TMT",
                                "TND",
                                "TOP",
                                "TRY",
                                "TTD",
                                "TVD",
                                "TWD",
                                "TZS",
                                "UAH",
                                "UGX",
                                "USD",
                                "UYU",
                                "UZS",
                                "VEF",
                                "VND",
                                "VUV",
                                "WST",
                                "XAF",
                                "XCD",
                                "XDR",
                                "XOF",
                                "XPF",
                                "XTS",
                                "XXX",
                                "YER",
                                "ZAR",
                                "ZMW",
                                "ZWD"
                            ]
                        },
                        "amount": {
                            "title": "Amount",
                            "type": "string",
                            "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                            "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                            "example": "123.45"
                        },
                        "transactionType": {
                            "title": "transferTransactionType",
                            "type": "string",
                            "enum": [
                                "TRANSFER"
                            ],
                            "description": "Type of transaction."
                        },
                        "subScenario": {
                            "title": "TransactionSubScenario",
                            "type": "string",
                            "pattern": "^[A-Z_]{1,32}$",
                            "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                            "example": "LOCALLY_DEFINED_SUBSCENARIO"
                        },
                        "note": {
                            "title": "Note",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Memo assigned to transaction.",
                            "example": "Note sent to Payee."
                        },
                        "extensions": {
                            "title": "ExtensionList",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                            "properties": {
                                "extension": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 1,
                                    "maxItems": 16,
                                    "description": "Number of Extension elements."
                                }
                            },
                            "required": [
                                "extension"
                            ]
                        }
                    },
                    "required": [
                        "quoteId",
                        "to",
                        "amountType",
                        "currency",
                        "transactionType",
                        "amount"
                    ]
                }
            }
        }
    },
    "autoAcceptPartyOption": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "enabled"
        ],
        "properties": {
            "enabled": {
                "type": "boolean",
                "enum": [
                    false,
                    true
                ]
            }
        }
    },
    "bulkPerTransferFeeLimit": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "currency",
            "amount"
        ],
        "properties": {
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            }
        }
    },
    "autoAcceptQuote": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "enabled"
        ],
        "properties": {
            "enabled": {
                "type": "boolean",
                "enum": [
                    true,
                    false
                ]
            },
            "perTransferFeeLimits": {
                "type": "array",
                "minItems": 0,
                "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "currency",
                        "amount"
                    ],
                    "properties": {
                        "currency": {
                            "title": "Currency",
                            "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 3,
                            "enum": [
                                "AED",
                                "AFN",
                                "ALL",
                                "AMD",
                                "ANG",
                                "AOA",
                                "ARS",
                                "AUD",
                                "AWG",
                                "AZN",
                                "BAM",
                                "BBD",
                                "BDT",
                                "BGN",
                                "BHD",
                                "BIF",
                                "BMD",
                                "BND",
                                "BOB",
                                "BRL",
                                "BSD",
                                "BTN",
                                "BWP",
                                "BYN",
                                "BZD",
                                "CAD",
                                "CDF",
                                "CHF",
                                "CLP",
                                "CNY",
                                "COP",
                                "CRC",
                                "CUC",
                                "CUP",
                                "CVE",
                                "CZK",
                                "DJF",
                                "DKK",
                                "DOP",
                                "DZD",
                                "EGP",
                                "ERN",
                                "ETB",
                                "EUR",
                                "FJD",
                                "FKP",
                                "GBP",
                                "GEL",
                                "GGP",
                                "GHS",
                                "GIP",
                                "GMD",
                                "GNF",
                                "GTQ",
                                "GYD",
                                "HKD",
                                "HNL",
                                "HRK",
                                "HTG",
                                "HUF",
                                "IDR",
                                "ILS",
                                "IMP",
                                "INR",
                                "IQD",
                                "IRR",
                                "ISK",
                                "JEP",
                                "JMD",
                                "JOD",
                                "JPY",
                                "KES",
                                "KGS",
                                "KHR",
                                "KMF",
                                "KPW",
                                "KRW",
                                "KWD",
                                "KYD",
                                "KZT",
                                "LAK",
                                "LBP",
                                "LKR",
                                "LRD",
                                "LSL",
                                "LYD",
                                "MAD",
                                "MDL",
                                "MGA",
                                "MKD",
                                "MMK",
                                "MNT",
                                "MOP",
                                "MRO",
                                "MUR",
                                "MVR",
                                "MWK",
                                "MXN",
                                "MYR",
                                "MZN",
                                "NAD",
                                "NGN",
                                "NIO",
                                "NOK",
                                "NPR",
                                "NZD",
                                "OMR",
                                "PAB",
                                "PEN",
                                "PGK",
                                "PHP",
                                "PKR",
                                "PLN",
                                "PYG",
                                "QAR",
                                "RON",
                                "RSD",
                                "RUB",
                                "RWF",
                                "SAR",
                                "SBD",
                                "SCR",
                                "SDG",
                                "SEK",
                                "SGD",
                                "SHP",
                                "SLL",
                                "SOS",
                                "SPL",
                                "SRD",
                                "STD",
                                "SVC",
                                "SYP",
                                "SZL",
                                "THB",
                                "TJS",
                                "TMT",
                                "TND",
                                "TOP",
                                "TRY",
                                "TTD",
                                "TVD",
                                "TWD",
                                "TZS",
                                "UAH",
                                "UGX",
                                "USD",
                                "UYU",
                                "UZS",
                                "VEF",
                                "VND",
                                "VUV",
                                "WST",
                                "XAF",
                                "XCD",
                                "XDR",
                                "XOF",
                                "XPF",
                                "XTS",
                                "XXX",
                                "YER",
                                "ZAR",
                                "ZMW",
                                "ZWD"
                            ]
                        },
                        "amount": {
                            "title": "Amount",
                            "type": "string",
                            "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                            "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                            "example": "123.45"
                        }
                    }
                }
            }
        }
    },
    "bulkTransactionOptions": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "autoAcceptParty",
            "autoAcceptQuote",
            "bulkExpiration"
        ],
        "properties": {
            "onlyValidateParty": {
                "description": "Set to true if only party validation is required.  This means the quotes and transfers will not run. This is useful for only party resolution.",
                "type": "boolean"
            },
            "autoAcceptParty": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "enabled"
                ],
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "enum": [
                            false,
                            true
                        ]
                    }
                }
            },
            "autoAcceptQuote": {
                "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.",
                "type": "object",
                "oneOf": [
                    {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "enabled"
                        ],
                        "properties": {
                            "enabled": {
                                "type": "boolean",
                                "enum": [
                                    true,
                                    false
                                ]
                            },
                            "perTransferFeeLimits": {
                                "type": "array",
                                "minItems": 0,
                                "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "currency",
                                        "amount"
                                    ],
                                    "properties": {
                                        "currency": {
                                            "title": "Currency",
                                            "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                            "type": "string",
                                            "minLength": 3,
                                            "maxLength": 3,
                                            "enum": [
                                                "AED",
                                                "AFN",
                                                "ALL",
                                                "AMD",
                                                "ANG",
                                                "AOA",
                                                "ARS",
                                                "AUD",
                                                "AWG",
                                                "AZN",
                                                "BAM",
                                                "BBD",
                                                "BDT",
                                                "BGN",
                                                "BHD",
                                                "BIF",
                                                "BMD",
                                                "BND",
                                                "BOB",
                                                "BRL",
                                                "BSD",
                                                "BTN",
                                                "BWP",
                                                "BYN",
                                                "BZD",
                                                "CAD",
                                                "CDF",
                                                "CHF",
                                                "CLP",
                                                "CNY",
                                                "COP",
                                                "CRC",
                                                "CUC",
                                                "CUP",
                                                "CVE",
                                                "CZK",
                                                "DJF",
                                                "DKK",
                                                "DOP",
                                                "DZD",
                                                "EGP",
                                                "ERN",
                                                "ETB",
                                                "EUR",
                                                "FJD",
                                                "FKP",
                                                "GBP",
                                                "GEL",
                                                "GGP",
                                                "GHS",
                                                "GIP",
                                                "GMD",
                                                "GNF",
                                                "GTQ",
                                                "GYD",
                                                "HKD",
                                                "HNL",
                                                "HRK",
                                                "HTG",
                                                "HUF",
                                                "IDR",
                                                "ILS",
                                                "IMP",
                                                "INR",
                                                "IQD",
                                                "IRR",
                                                "ISK",
                                                "JEP",
                                                "JMD",
                                                "JOD",
                                                "JPY",
                                                "KES",
                                                "KGS",
                                                "KHR",
                                                "KMF",
                                                "KPW",
                                                "KRW",
                                                "KWD",
                                                "KYD",
                                                "KZT",
                                                "LAK",
                                                "LBP",
                                                "LKR",
                                                "LRD",
                                                "LSL",
                                                "LYD",
                                                "MAD",
                                                "MDL",
                                                "MGA",
                                                "MKD",
                                                "MMK",
                                                "MNT",
                                                "MOP",
                                                "MRO",
                                                "MUR",
                                                "MVR",
                                                "MWK",
                                                "MXN",
                                                "MYR",
                                                "MZN",
                                                "NAD",
                                                "NGN",
                                                "NIO",
                                                "NOK",
                                                "NPR",
                                                "NZD",
                                                "OMR",
                                                "PAB",
                                                "PEN",
                                                "PGK",
                                                "PHP",
                                                "PKR",
                                                "PLN",
                                                "PYG",
                                                "QAR",
                                                "RON",
                                                "RSD",
                                                "RUB",
                                                "RWF",
                                                "SAR",
                                                "SBD",
                                                "SCR",
                                                "SDG",
                                                "SEK",
                                                "SGD",
                                                "SHP",
                                                "SLL",
                                                "SOS",
                                                "SPL",
                                                "SRD",
                                                "STD",
                                                "SVC",
                                                "SYP",
                                                "SZL",
                                                "THB",
                                                "TJS",
                                                "TMT",
                                                "TND",
                                                "TOP",
                                                "TRY",
                                                "TTD",
                                                "TVD",
                                                "TWD",
                                                "TZS",
                                                "UAH",
                                                "UGX",
                                                "USD",
                                                "UYU",
                                                "UZS",
                                                "VEF",
                                                "VND",
                                                "VUV",
                                                "WST",
                                                "XAF",
                                                "XCD",
                                                "XDR",
                                                "XOF",
                                                "XPF",
                                                "XTS",
                                                "XXX",
                                                "YER",
                                                "ZAR",
                                                "ZMW",
                                                "ZWD"
                                            ]
                                        },
                                        "amount": {
                                            "title": "Amount",
                                            "type": "string",
                                            "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                            "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                            "example": "123.45"
                                        }
                                    }
                                }
                            }
                        }
                    }
                ]
            },
            "skipPartyLookup": {
                "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.",
                "type": "boolean"
            },
            "synchronous": {
                "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done",
                "type": "boolean"
            },
            "bulkExpiration": {
                "title": "DateTime",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                "example": "2016-05-24T08:38:08.699-04:00"
            }
        }
    },
    "PartyIdInfo": {
        "title": "PartyIdInfo",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
        "properties": {
            "partyIdType": {
                "title": "PartyIdType",
                "type": "string",
                "enum": [
                    "MSISDN",
                    "EMAIL",
                    "PERSONAL_ID",
                    "BUSINESS",
                    "DEVICE",
                    "ACCOUNT_ID",
                    "IBAN",
                    "ALIAS"
                ],
                "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
            },
            "partyIdentifier": {
                "title": "PartyIdentifier",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Identifier of the Party.",
                "example": "16135551212"
            },
            "partySubIdOrType": {
                "title": "PartySubIdOrType",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
            },
            "fspId": {
                "title": "FspId",
                "type": "string",
                "minLength": 1,
                "maxLength": 32,
                "description": "FSP identifier."
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        },
        "required": [
            "partyIdType",
            "partyIdentifier"
        ]
    },
    "PartyName": {
        "title": "PartyName",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "Name of the Party. Could be a real name or a nickname."
    },
    "PartyComplexName": {
        "title": "PartyComplexName",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type PartyComplexName.",
        "properties": {
            "firstName": {
                "title": "FirstName",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                "description": "First name of the Party (Name Type).",
                "example": "Henrik"
            },
            "middleName": {
                "title": "MiddleName",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                "description": "Middle name of the Party (Name Type).",
                "example": "Johannes"
            },
            "lastName": {
                "title": "LastName",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                "description": "Last name of the Party (Name Type).",
                "example": "Karlsson"
            }
        }
    },
    "PartyPersonalInfo": {
        "title": "PartyPersonalInfo",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type PartyPersonalInfo.",
        "properties": {
            "complexName": {
                "title": "PartyComplexName",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type PartyComplexName.",
                "properties": {
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    }
                }
            },
            "dateOfBirth": {
                "title": "DateofBirth (type Date)",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                "description": "Date of Birth of the Party.",
                "example": "1966-06-16"
            }
        }
    },
    "Party": {
        "title": "Party",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type Party.",
        "properties": {
            "partyIdInfo": {
                "title": "PartyIdInfo",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                "properties": {
                    "partyIdType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "partyIdentifier": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "partySubIdOrType": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "title": "ExtensionList",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                        "properties": {
                            "extension": {
                                "type": "array",
                                "items": {
                                    "title": "Extension",
                                    "type": "object",
                                    "additionalProperties": false,
                                    "description": "Data model for the complex type Extension.",
                                    "properties": {
                                        "key": {
                                            "title": "ExtensionKey",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 32,
                                            "description": "Extension key."
                                        },
                                        "value": {
                                            "title": "ExtensionValue",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Extension value."
                                        }
                                    },
                                    "required": [
                                        "key",
                                        "value"
                                    ]
                                },
                                "minItems": 1,
                                "maxItems": 16,
                                "description": "Number of Extension elements."
                            }
                        },
                        "required": [
                            "extension"
                        ]
                    }
                },
                "required": [
                    "partyIdType",
                    "partyIdentifier"
                ]
            },
            "merchantClassificationCode": {
                "title": "MerchantClassificationCode",
                "type": "string",
                "pattern": "^[\\d]{1,4}$",
                "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
            },
            "name": {
                "title": "PartyName",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Name of the Party. Could be a real name or a nickname."
            },
            "personalInfo": {
                "title": "PartyPersonalInfo",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type PartyPersonalInfo.",
                "properties": {
                    "complexName": {
                        "title": "PartyComplexName",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyComplexName.",
                        "properties": {
                            "firstName": {
                                "title": "FirstName",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                "description": "First name of the Party (Name Type).",
                                "example": "Henrik"
                            },
                            "middleName": {
                                "title": "MiddleName",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                "description": "Middle name of the Party (Name Type).",
                                "example": "Johannes"
                            },
                            "lastName": {
                                "title": "LastName",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                "description": "Last name of the Party (Name Type).",
                                "example": "Karlsson"
                            }
                        }
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    }
                }
            }
        },
        "required": [
            "partyIdInfo"
        ]
    },
    "bulkTransactionIndividualTransfer": {
        "title": "BulkTransactionIndividualTransfer",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type 'bulkTransactionIndividualTransfer'.",
        "properties": {
            "homeTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "to": {
                "title": "Party",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Party.",
                "properties": {
                    "partyIdInfo": {
                        "title": "PartyIdInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                        "properties": {
                            "partyIdType": {
                                "title": "PartyIdType",
                                "type": "string",
                                "enum": [
                                    "MSISDN",
                                    "EMAIL",
                                    "PERSONAL_ID",
                                    "BUSINESS",
                                    "DEVICE",
                                    "ACCOUNT_ID",
                                    "IBAN",
                                    "ALIAS"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                            },
                            "partyIdentifier": {
                                "title": "PartyIdentifier",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Identifier of the Party.",
                                "example": "16135551212"
                            },
                            "partySubIdOrType": {
                                "title": "PartySubIdOrType",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                            },
                            "fspId": {
                                "title": "FspId",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 32,
                                "description": "FSP identifier."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "partyIdType",
                            "partyIdentifier"
                        ]
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "name": {
                        "title": "PartyName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Name of the Party. Could be a real name or a nickname."
                    },
                    "personalInfo": {
                        "title": "PartyPersonalInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyPersonalInfo.",
                        "properties": {
                            "complexName": {
                                "title": "PartyComplexName",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyComplexName.",
                                "properties": {
                                    "firstName": {
                                        "title": "FirstName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "First name of the Party (Name Type).",
                                        "example": "Henrik"
                                    },
                                    "middleName": {
                                        "title": "MiddleName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Middle name of the Party (Name Type).",
                                        "example": "Johannes"
                                    },
                                    "lastName": {
                                        "title": "LastName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Last name of the Party (Name Type).",
                                        "example": "Karlsson"
                                    }
                                }
                            },
                            "dateOfBirth": {
                                "title": "DateofBirth (type Date)",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                "description": "Date of Birth of the Party.",
                                "example": "1966-06-16"
                            }
                        }
                    }
                },
                "required": [
                    "partyIdInfo"
                ]
            },
            "reference": {
                "description": "Payer Loan reference",
                "type": "string"
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "note": {
                "title": "Note",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Memo assigned to transaction.",
                "example": "Note sent to Payee."
            },
            "quoteExtensions": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            },
            "transferExtensions": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            },
            "lastError": {
                "type": "object",
                "additionalProperties": false,
                "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                "properties": {
                    "httpStatusCode": {
                        "type": "integer",
                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                    },
                    "mojaloopError": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "errorInformation": {
                                "title": "ErrorInformation",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ErrorInformation.",
                                "properties": {
                                    "errorCode": {
                                        "title": "ErrorCode",
                                        "type": "string",
                                        "pattern": "^[1-9]\\d{3}$",
                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                        "example": "5100"
                                    },
                                    "errorDescription": {
                                        "title": "ErrorDescription",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Error description string."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "errorCode",
                                    "errorDescription"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "required": [
            "homeTransactionId",
            "to",
            "amountType",
            "currency",
            "amount"
        ]
    },
    "bulkTransactionRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "bulkTransactionId",
            "bulkHomeTransactionID",
            "options",
            "from",
            "individualTransfers"
        ],
        "properties": {
            "bulkHomeTransactionID": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "bulkTransactionId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "options": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "autoAcceptParty",
                    "autoAcceptQuote",
                    "bulkExpiration"
                ],
                "properties": {
                    "onlyValidateParty": {
                        "description": "Set to true if only party validation is required.  This means the quotes and transfers will not run. This is useful for only party resolution.",
                        "type": "boolean"
                    },
                    "autoAcceptParty": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "enabled"
                        ],
                        "properties": {
                            "enabled": {
                                "type": "boolean",
                                "enum": [
                                    false,
                                    true
                                ]
                            }
                        }
                    },
                    "autoAcceptQuote": {
                        "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.",
                        "type": "object",
                        "oneOf": [
                            {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                    "enabled"
                                ],
                                "properties": {
                                    "enabled": {
                                        "type": "boolean",
                                        "enum": [
                                            true,
                                            false
                                        ]
                                    },
                                    "perTransferFeeLimits": {
                                        "type": "array",
                                        "minItems": 0,
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": false,
                                            "required": [
                                                "currency",
                                                "amount"
                                            ],
                                            "properties": {
                                                "currency": {
                                                    "title": "Currency",
                                                    "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                    "type": "string",
                                                    "minLength": 3,
                                                    "maxLength": 3,
                                                    "enum": [
                                                        "AED",
                                                        "AFN",
                                                        "ALL",
                                                        "AMD",
                                                        "ANG",
                                                        "AOA",
                                                        "ARS",
                                                        "AUD",
                                                        "AWG",
                                                        "AZN",
                                                        "BAM",
                                                        "BBD",
                                                        "BDT",
                                                        "BGN",
                                                        "BHD",
                                                        "BIF",
                                                        "BMD",
                                                        "BND",
                                                        "BOB",
                                                        "BRL",
                                                        "BSD",
                                                        "BTN",
                                                        "BWP",
                                                        "BYN",
                                                        "BZD",
                                                        "CAD",
                                                        "CDF",
                                                        "CHF",
                                                        "CLP",
                                                        "CNY",
                                                        "COP",
                                                        "CRC",
                                                        "CUC",
                                                        "CUP",
                                                        "CVE",
                                                        "CZK",
                                                        "DJF",
                                                        "DKK",
                                                        "DOP",
                                                        "DZD",
                                                        "EGP",
                                                        "ERN",
                                                        "ETB",
                                                        "EUR",
                                                        "FJD",
                                                        "FKP",
                                                        "GBP",
                                                        "GEL",
                                                        "GGP",
                                                        "GHS",
                                                        "GIP",
                                                        "GMD",
                                                        "GNF",
                                                        "GTQ",
                                                        "GYD",
                                                        "HKD",
                                                        "HNL",
                                                        "HRK",
                                                        "HTG",
                                                        "HUF",
                                                        "IDR",
                                                        "ILS",
                                                        "IMP",
                                                        "INR",
                                                        "IQD",
                                                        "IRR",
                                                        "ISK",
                                                        "JEP",
                                                        "JMD",
                                                        "JOD",
                                                        "JPY",
                                                        "KES",
                                                        "KGS",
                                                        "KHR",
                                                        "KMF",
                                                        "KPW",
                                                        "KRW",
                                                        "KWD",
                                                        "KYD",
                                                        "KZT",
                                                        "LAK",
                                                        "LBP",
                                                        "LKR",
                                                        "LRD",
                                                        "LSL",
                                                        "LYD",
                                                        "MAD",
                                                        "MDL",
                                                        "MGA",
                                                        "MKD",
                                                        "MMK",
                                                        "MNT",
                                                        "MOP",
                                                        "MRO",
                                                        "MUR",
                                                        "MVR",
                                                        "MWK",
                                                        "MXN",
                                                        "MYR",
                                                        "MZN",
                                                        "NAD",
                                                        "NGN",
                                                        "NIO",
                                                        "NOK",
                                                        "NPR",
                                                        "NZD",
                                                        "OMR",
                                                        "PAB",
                                                        "PEN",
                                                        "PGK",
                                                        "PHP",
                                                        "PKR",
                                                        "PLN",
                                                        "PYG",
                                                        "QAR",
                                                        "RON",
                                                        "RSD",
                                                        "RUB",
                                                        "RWF",
                                                        "SAR",
                                                        "SBD",
                                                        "SCR",
                                                        "SDG",
                                                        "SEK",
                                                        "SGD",
                                                        "SHP",
                                                        "SLL",
                                                        "SOS",
                                                        "SPL",
                                                        "SRD",
                                                        "STD",
                                                        "SVC",
                                                        "SYP",
                                                        "SZL",
                                                        "THB",
                                                        "TJS",
                                                        "TMT",
                                                        "TND",
                                                        "TOP",
                                                        "TRY",
                                                        "TTD",
                                                        "TVD",
                                                        "TWD",
                                                        "TZS",
                                                        "UAH",
                                                        "UGX",
                                                        "USD",
                                                        "UYU",
                                                        "UZS",
                                                        "VEF",
                                                        "VND",
                                                        "VUV",
                                                        "WST",
                                                        "XAF",
                                                        "XCD",
                                                        "XDR",
                                                        "XOF",
                                                        "XPF",
                                                        "XTS",
                                                        "XXX",
                                                        "YER",
                                                        "ZAR",
                                                        "ZMW",
                                                        "ZWD"
                                                    ]
                                                },
                                                "amount": {
                                                    "title": "Amount",
                                                    "type": "string",
                                                    "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                    "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                    "example": "123.45"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        ]
                    },
                    "skipPartyLookup": {
                        "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.",
                        "type": "boolean"
                    },
                    "synchronous": {
                        "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done",
                        "type": "boolean"
                    },
                    "bulkExpiration": {
                        "title": "DateTime",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                        "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                        "example": "2016-05-24T08:38:08.699-04:00"
                    }
                }
            },
            "from": {
                "title": "Party",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Party.",
                "properties": {
                    "partyIdInfo": {
                        "title": "PartyIdInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                        "properties": {
                            "partyIdType": {
                                "title": "PartyIdType",
                                "type": "string",
                                "enum": [
                                    "MSISDN",
                                    "EMAIL",
                                    "PERSONAL_ID",
                                    "BUSINESS",
                                    "DEVICE",
                                    "ACCOUNT_ID",
                                    "IBAN",
                                    "ALIAS"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                            },
                            "partyIdentifier": {
                                "title": "PartyIdentifier",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Identifier of the Party.",
                                "example": "16135551212"
                            },
                            "partySubIdOrType": {
                                "title": "PartySubIdOrType",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                            },
                            "fspId": {
                                "title": "FspId",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 32,
                                "description": "FSP identifier."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "partyIdType",
                            "partyIdentifier"
                        ]
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "name": {
                        "title": "PartyName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Name of the Party. Could be a real name or a nickname."
                    },
                    "personalInfo": {
                        "title": "PartyPersonalInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyPersonalInfo.",
                        "properties": {
                            "complexName": {
                                "title": "PartyComplexName",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyComplexName.",
                                "properties": {
                                    "firstName": {
                                        "title": "FirstName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "First name of the Party (Name Type).",
                                        "example": "Henrik"
                                    },
                                    "middleName": {
                                        "title": "MiddleName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Middle name of the Party (Name Type).",
                                        "example": "Johannes"
                                    },
                                    "lastName": {
                                        "title": "LastName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Last name of the Party (Name Type).",
                                        "example": "Karlsson"
                                    }
                                }
                            },
                            "dateOfBirth": {
                                "title": "DateofBirth (type Date)",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                "description": "Date of Birth of the Party.",
                                "example": "1966-06-16"
                            }
                        }
                    }
                },
                "required": [
                    "partyIdInfo"
                ]
            },
            "individualTransfers": {
                "description": "List of individual transfers in a bulk transfer.",
                "type": "array",
                "minItems": 1,
                "items": {
                    "title": "BulkTransactionIndividualTransfer",
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Data model for the complex type 'bulkTransactionIndividualTransfer'.",
                    "properties": {
                        "homeTransactionId": {
                            "type": "string",
                            "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
                        },
                        "to": {
                            "title": "Party",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Party.",
                            "properties": {
                                "partyIdInfo": {
                                    "title": "PartyIdInfo",
                                    "type": "object",
                                    "additionalProperties": false,
                                    "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                                    "properties": {
                                        "partyIdType": {
                                            "title": "PartyIdType",
                                            "type": "string",
                                            "enum": [
                                                "MSISDN",
                                                "EMAIL",
                                                "PERSONAL_ID",
                                                "BUSINESS",
                                                "DEVICE",
                                                "ACCOUNT_ID",
                                                "IBAN",
                                                "ALIAS"
                                            ],
                                            "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                        },
                                        "partyIdentifier": {
                                            "title": "PartyIdentifier",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Identifier of the Party.",
                                            "example": "16135551212"
                                        },
                                        "partySubIdOrType": {
                                            "title": "PartySubIdOrType",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                        },
                                        "fspId": {
                                            "title": "FspId",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 32,
                                            "description": "FSP identifier."
                                        },
                                        "extensionList": {
                                            "title": "ExtensionList",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                            "properties": {
                                                "extension": {
                                                    "type": "array",
                                                    "items": {
                                                        "title": "Extension",
                                                        "type": "object",
                                                        "additionalProperties": false,
                                                        "description": "Data model for the complex type Extension.",
                                                        "properties": {
                                                            "key": {
                                                                "title": "ExtensionKey",
                                                                "type": "string",
                                                                "minLength": 1,
                                                                "maxLength": 32,
                                                                "description": "Extension key."
                                                            },
                                                            "value": {
                                                                "title": "ExtensionValue",
                                                                "type": "string",
                                                                "minLength": 1,
                                                                "maxLength": 128,
                                                                "description": "Extension value."
                                                            }
                                                        },
                                                        "required": [
                                                            "key",
                                                            "value"
                                                        ]
                                                    },
                                                    "minItems": 1,
                                                    "maxItems": 16,
                                                    "description": "Number of Extension elements."
                                                }
                                            },
                                            "required": [
                                                "extension"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "partyIdType",
                                        "partyIdentifier"
                                    ]
                                },
                                "merchantClassificationCode": {
                                    "title": "MerchantClassificationCode",
                                    "type": "string",
                                    "pattern": "^[\\d]{1,4}$",
                                    "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                                },
                                "name": {
                                    "title": "PartyName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Name of the Party. Could be a real name or a nickname."
                                },
                                "personalInfo": {
                                    "title": "PartyPersonalInfo",
                                    "type": "object",
                                    "additionalProperties": false,
                                    "description": "Data model for the complex type PartyPersonalInfo.",
                                    "properties": {
                                        "complexName": {
                                            "title": "PartyComplexName",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type PartyComplexName.",
                                            "properties": {
                                                "firstName": {
                                                    "title": "FirstName",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                    "description": "First name of the Party (Name Type).",
                                                    "example": "Henrik"
                                                },
                                                "middleName": {
                                                    "title": "MiddleName",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                    "description": "Middle name of the Party (Name Type).",
                                                    "example": "Johannes"
                                                },
                                                "lastName": {
                                                    "title": "LastName",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                    "description": "Last name of the Party (Name Type).",
                                                    "example": "Karlsson"
                                                }
                                            }
                                        },
                                        "dateOfBirth": {
                                            "title": "DateofBirth (type Date)",
                                            "type": "string",
                                            "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                            "description": "Date of Birth of the Party.",
                                            "example": "1966-06-16"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "partyIdInfo"
                            ]
                        },
                        "reference": {
                            "description": "Payer Loan reference",
                            "type": "string"
                        },
                        "amountType": {
                            "title": "AmountType",
                            "type": "string",
                            "enum": [
                                "SEND",
                                "RECEIVE"
                            ],
                            "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                            "example": "RECEIVE"
                        },
                        "currency": {
                            "title": "Currency",
                            "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 3,
                            "enum": [
                                "AED",
                                "AFN",
                                "ALL",
                                "AMD",
                                "ANG",
                                "AOA",
                                "ARS",
                                "AUD",
                                "AWG",
                                "AZN",
                                "BAM",
                                "BBD",
                                "BDT",
                                "BGN",
                                "BHD",
                                "BIF",
                                "BMD",
                                "BND",
                                "BOB",
                                "BRL",
                                "BSD",
                                "BTN",
                                "BWP",
                                "BYN",
                                "BZD",
                                "CAD",
                                "CDF",
                                "CHF",
                                "CLP",
                                "CNY",
                                "COP",
                                "CRC",
                                "CUC",
                                "CUP",
                                "CVE",
                                "CZK",
                                "DJF",
                                "DKK",
                                "DOP",
                                "DZD",
                                "EGP",
                                "ERN",
                                "ETB",
                                "EUR",
                                "FJD",
                                "FKP",
                                "GBP",
                                "GEL",
                                "GGP",
                                "GHS",
                                "GIP",
                                "GMD",
                                "GNF",
                                "GTQ",
                                "GYD",
                                "HKD",
                                "HNL",
                                "HRK",
                                "HTG",
                                "HUF",
                                "IDR",
                                "ILS",
                                "IMP",
                                "INR",
                                "IQD",
                                "IRR",
                                "ISK",
                                "JEP",
                                "JMD",
                                "JOD",
                                "JPY",
                                "KES",
                                "KGS",
                                "KHR",
                                "KMF",
                                "KPW",
                                "KRW",
                                "KWD",
                                "KYD",
                                "KZT",
                                "LAK",
                                "LBP",
                                "LKR",
                                "LRD",
                                "LSL",
                                "LYD",
                                "MAD",
                                "MDL",
                                "MGA",
                                "MKD",
                                "MMK",
                                "MNT",
                                "MOP",
                                "MRO",
                                "MUR",
                                "MVR",
                                "MWK",
                                "MXN",
                                "MYR",
                                "MZN",
                                "NAD",
                                "NGN",
                                "NIO",
                                "NOK",
                                "NPR",
                                "NZD",
                                "OMR",
                                "PAB",
                                "PEN",
                                "PGK",
                                "PHP",
                                "PKR",
                                "PLN",
                                "PYG",
                                "QAR",
                                "RON",
                                "RSD",
                                "RUB",
                                "RWF",
                                "SAR",
                                "SBD",
                                "SCR",
                                "SDG",
                                "SEK",
                                "SGD",
                                "SHP",
                                "SLL",
                                "SOS",
                                "SPL",
                                "SRD",
                                "STD",
                                "SVC",
                                "SYP",
                                "SZL",
                                "THB",
                                "TJS",
                                "TMT",
                                "TND",
                                "TOP",
                                "TRY",
                                "TTD",
                                "TVD",
                                "TWD",
                                "TZS",
                                "UAH",
                                "UGX",
                                "USD",
                                "UYU",
                                "UZS",
                                "VEF",
                                "VND",
                                "VUV",
                                "WST",
                                "XAF",
                                "XCD",
                                "XDR",
                                "XOF",
                                "XPF",
                                "XTS",
                                "XXX",
                                "YER",
                                "ZAR",
                                "ZMW",
                                "ZWD"
                            ]
                        },
                        "amount": {
                            "title": "Amount",
                            "type": "string",
                            "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                            "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                            "example": "123.45"
                        },
                        "note": {
                            "title": "Note",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Memo assigned to transaction.",
                            "example": "Note sent to Payee."
                        },
                        "quoteExtensions": {
                            "title": "ExtensionList",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                            "properties": {
                                "extension": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 1,
                                    "maxItems": 16,
                                    "description": "Number of Extension elements."
                                }
                            },
                            "required": [
                                "extension"
                            ]
                        },
                        "transferExtensions": {
                            "title": "ExtensionList",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                            "properties": {
                                "extension": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 1,
                                    "maxItems": 16,
                                    "description": "Number of Extension elements."
                                }
                            },
                            "required": [
                                "extension"
                            ]
                        },
                        "lastError": {
                            "type": "object",
                            "additionalProperties": false,
                            "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                            "properties": {
                                "httpStatusCode": {
                                    "type": "integer",
                                    "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                },
                                "mojaloopError": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "properties": {
                                        "errorInformation": {
                                            "title": "ErrorInformation",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type ErrorInformation.",
                                            "properties": {
                                                "errorCode": {
                                                    "title": "ErrorCode",
                                                    "type": "string",
                                                    "pattern": "^[1-9]\\d{3}$",
                                                    "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                    "example": "5100"
                                                },
                                                "errorDescription": {
                                                    "title": "ErrorDescription",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Error description string."
                                                },
                                                "extensionList": {
                                                    "title": "ExtensionList",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                    "properties": {
                                                        "extension": {
                                                            "type": "array",
                                                            "items": {
                                                                "title": "Extension",
                                                                "type": "object",
                                                                "additionalProperties": false,
                                                                "description": "Data model for the complex type Extension.",
                                                                "properties": {
                                                                    "key": {
                                                                        "title": "ExtensionKey",
                                                                        "type": "string",
                                                                        "minLength": 1,
                                                                        "maxLength": 32,
                                                                        "description": "Extension key."
                                                                    },
                                                                    "value": {
                                                                        "title": "ExtensionValue",
                                                                        "type": "string",
                                                                        "minLength": 1,
                                                                        "maxLength": 128,
                                                                        "description": "Extension value."
                                                                    }
                                                                },
                                                                "required": [
                                                                    "key",
                                                                    "value"
                                                                ]
                                                            },
                                                            "minItems": 1,
                                                            "maxItems": 16,
                                                            "description": "Number of Extension elements."
                                                        }
                                                    },
                                                    "required": [
                                                        "extension"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "errorCode",
                                                "errorDescription"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "required": [
                        "homeTransactionId",
                        "to",
                        "amountType",
                        "currency",
                        "amount"
                    ]
                }
            },
            "extensions": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        }
    },
    "TransferState": {
        "title": "TransferState",
        "type": "string",
        "enum": [
            "RECEIVED",
            "RESERVED",
            "COMMITTED",
            "ABORTED"
        ],
        "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
        "example": "RESERVED"
    },
    "IlpFulfilment": {
        "title": "IlpFulfilment",
        "type": "string",
        "pattern": "^[A-Za-z0-9-_]{43}$",
        "maxLength": 48,
        "description": "Fulfilment that must be attached to the transfer by the Payee.",
        "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
    },
    "individualTransferResult": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "transferId"
        ],
        "properties": {
            "transferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "fulfilment": {
                "title": "IlpFulfilment",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]{43}$",
                "maxLength": 48,
                "description": "Fulfilment that must be attached to the transfer by the Payee.",
                "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            },
            "transferState": {
                "title": "TransferState",
                "type": "string",
                "enum": [
                    "RECEIVED",
                    "RESERVED",
                    "COMMITTED",
                    "ABORTED"
                ],
                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                "example": "RESERVED"
            },
            "lastError": {
                "type": "object",
                "additionalProperties": false,
                "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                "properties": {
                    "httpStatusCode": {
                        "type": "integer",
                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                    },
                    "mojaloopError": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "errorInformation": {
                                "title": "ErrorInformation",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ErrorInformation.",
                                "properties": {
                                    "errorCode": {
                                        "title": "ErrorCode",
                                        "type": "string",
                                        "pattern": "^[1-9]\\d{3}$",
                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                        "example": "5100"
                                    },
                                    "errorDescription": {
                                        "title": "ErrorDescription",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Error description string."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "errorCode",
                                    "errorDescription"
                                ]
                            }
                        }
                    }
                }
            }
        }
    },
    "bulkTransferResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "bulkTransferId",
            "individualTransferResults",
            "currentState"
        ],
        "properties": {
            "bulkTransferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "bulkQuoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "homeTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "bulkTransferState": {
                "title": "TransferState",
                "type": "string",
                "enum": [
                    "RECEIVED",
                    "RESERVED",
                    "COMMITTED",
                    "ABORTED"
                ],
                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                "example": "RESERVED"
            },
            "completedTimestamp": {
                "title": "DateTime",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                "example": "2016-05-24T08:38:08.699-04:00"
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "COMPLETED"
                ]
            },
            "individualTransferResults": {
                "type": "array",
                "maxItems": 1000,
                "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                        "transferId"
                    ],
                    "properties": {
                        "transferId": {
                            "title": "CorrelationId",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                        },
                        "fulfilment": {
                            "title": "IlpFulfilment",
                            "type": "string",
                            "pattern": "^[A-Za-z0-9-_]{43}$",
                            "maxLength": 48,
                            "description": "Fulfilment that must be attached to the transfer by the Payee.",
                            "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
                        },
                        "extensionList": {
                            "title": "ExtensionList",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                            "properties": {
                                "extension": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 1,
                                    "maxItems": 16,
                                    "description": "Number of Extension elements."
                                }
                            },
                            "required": [
                                "extension"
                            ]
                        },
                        "transferState": {
                            "title": "TransferState",
                            "type": "string",
                            "enum": [
                                "RECEIVED",
                                "RESERVED",
                                "COMMITTED",
                                "ABORTED"
                            ],
                            "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                            "example": "RESERVED"
                        },
                        "lastError": {
                            "type": "object",
                            "additionalProperties": false,
                            "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                            "properties": {
                                "httpStatusCode": {
                                    "type": "integer",
                                    "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                },
                                "mojaloopError": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "properties": {
                                        "errorInformation": {
                                            "title": "ErrorInformation",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type ErrorInformation.",
                                            "properties": {
                                                "errorCode": {
                                                    "title": "ErrorCode",
                                                    "type": "string",
                                                    "pattern": "^[1-9]\\d{3}$",
                                                    "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                    "example": "5100"
                                                },
                                                "errorDescription": {
                                                    "title": "ErrorDescription",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Error description string."
                                                },
                                                "extensionList": {
                                                    "title": "ExtensionList",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                    "properties": {
                                                        "extension": {
                                                            "type": "array",
                                                            "items": {
                                                                "title": "Extension",
                                                                "type": "object",
                                                                "additionalProperties": false,
                                                                "description": "Data model for the complex type Extension.",
                                                                "properties": {
                                                                    "key": {
                                                                        "title": "ExtensionKey",
                                                                        "type": "string",
                                                                        "minLength": 1,
                                                                        "maxLength": 32,
                                                                        "description": "Extension key."
                                                                    },
                                                                    "value": {
                                                                        "title": "ExtensionValue",
                                                                        "type": "string",
                                                                        "minLength": 1,
                                                                        "maxLength": 128,
                                                                        "description": "Extension value."
                                                                    }
                                                                },
                                                                "required": [
                                                                    "key",
                                                                    "value"
                                                                ]
                                                            },
                                                            "minItems": 1,
                                                            "maxItems": 16,
                                                            "description": "Number of Extension elements."
                                                        }
                                                    },
                                                    "required": [
                                                        "extension"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "errorCode",
                                                "errorDescription"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "description": "List of individual transfer result in a bulk transfer response."
            }
        }
    },
    "bulkTransferErrorResponse": {
        "allOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Error code as string."
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message text."
                    }
                }
            },
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "bulkTransferState"
                ],
                "properties": {
                    "bulkTransferState": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "bulkTransferId",
                            "individualTransferResults",
                            "currentState"
                        ],
                        "properties": {
                            "bulkTransferId": {
                                "title": "CorrelationId",
                                "type": "string",
                                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                            },
                            "bulkQuoteId": {
                                "title": "CorrelationId",
                                "type": "string",
                                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                            },
                            "homeTransactionId": {
                                "type": "string",
                                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
                            },
                            "bulkTransferState": {
                                "title": "TransferState",
                                "type": "string",
                                "enum": [
                                    "RECEIVED",
                                    "RESERVED",
                                    "COMMITTED",
                                    "ABORTED"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                                "example": "RESERVED"
                            },
                            "completedTimestamp": {
                                "title": "DateTime",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            },
                            "currentState": {
                                "type": "string",
                                "enum": [
                                    "ERROR_OCCURRED",
                                    "COMPLETED"
                                ]
                            },
                            "individualTransferResults": {
                                "type": "array",
                                "maxItems": 1000,
                                "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "transferId"
                                    ],
                                    "properties": {
                                        "transferId": {
                                            "title": "CorrelationId",
                                            "type": "string",
                                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                                        },
                                        "fulfilment": {
                                            "title": "IlpFulfilment",
                                            "type": "string",
                                            "pattern": "^[A-Za-z0-9-_]{43}$",
                                            "maxLength": 48,
                                            "description": "Fulfilment that must be attached to the transfer by the Payee.",
                                            "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
                                        },
                                        "extensionList": {
                                            "title": "ExtensionList",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                            "properties": {
                                                "extension": {
                                                    "type": "array",
                                                    "items": {
                                                        "title": "Extension",
                                                        "type": "object",
                                                        "additionalProperties": false,
                                                        "description": "Data model for the complex type Extension.",
                                                        "properties": {
                                                            "key": {
                                                                "title": "ExtensionKey",
                                                                "type": "string",
                                                                "minLength": 1,
                                                                "maxLength": 32,
                                                                "description": "Extension key."
                                                            },
                                                            "value": {
                                                                "title": "ExtensionValue",
                                                                "type": "string",
                                                                "minLength": 1,
                                                                "maxLength": 128,
                                                                "description": "Extension value."
                                                            }
                                                        },
                                                        "required": [
                                                            "key",
                                                            "value"
                                                        ]
                                                    },
                                                    "minItems": 1,
                                                    "maxItems": 16,
                                                    "description": "Number of Extension elements."
                                                }
                                            },
                                            "required": [
                                                "extension"
                                            ]
                                        },
                                        "transferState": {
                                            "title": "TransferState",
                                            "type": "string",
                                            "enum": [
                                                "RECEIVED",
                                                "RESERVED",
                                                "COMMITTED",
                                                "ABORTED"
                                            ],
                                            "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                                            "example": "RESERVED"
                                        },
                                        "lastError": {
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                                            "properties": {
                                                "httpStatusCode": {
                                                    "type": "integer",
                                                    "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                                },
                                                "mojaloopError": {
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "properties": {
                                                        "errorInformation": {
                                                            "title": "ErrorInformation",
                                                            "type": "object",
                                                            "additionalProperties": false,
                                                            "description": "Data model for the complex type ErrorInformation.",
                                                            "properties": {
                                                                "errorCode": {
                                                                    "title": "ErrorCode",
                                                                    "type": "string",
                                                                    "pattern": "^[1-9]\\d{3}$",
                                                                    "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                                    "example": "5100"
                                                                },
                                                                "errorDescription": {
                                                                    "title": "ErrorDescription",
                                                                    "type": "string",
                                                                    "minLength": 1,
                                                                    "maxLength": 128,
                                                                    "description": "Error description string."
                                                                },
                                                                "extensionList": {
                                                                    "title": "ExtensionList",
                                                                    "type": "object",
                                                                    "additionalProperties": false,
                                                                    "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                                    "properties": {
                                                                        "extension": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "title": "Extension",
                                                                                "type": "object",
                                                                                "additionalProperties": false,
                                                                                "description": "Data model for the complex type Extension.",
                                                                                "properties": {
                                                                                    "key": {
                                                                                        "title": "ExtensionKey",
                                                                                        "type": "string",
                                                                                        "minLength": 1,
                                                                                        "maxLength": 32,
                                                                                        "description": "Extension key."
                                                                                    },
                                                                                    "value": {
                                                                                        "title": "ExtensionValue",
                                                                                        "type": "string",
                                                                                        "minLength": 1,
                                                                                        "maxLength": 128,
                                                                                        "description": "Extension value."
                                                                                    }
                                                                                },
                                                                                "required": [
                                                                                    "key",
                                                                                    "value"
                                                                                ]
                                                                            },
                                                                            "minItems": 1,
                                                                            "maxItems": 16,
                                                                            "description": "Number of Extension elements."
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "extension"
                                                                    ]
                                                                }
                                                            },
                                                            "required": [
                                                                "errorCode",
                                                                "errorDescription"
                                                            ]
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "description": "List of individual transfer result in a bulk transfer response."
                            }
                        }
                    }
                }
            }
        ]
    },
    "bulkTransactionIndividualTransferAccept": {
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the 'individualTransfer' while accepting party or quote.",
        "properties": {
            "transferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            }
        },
        "required": [
            "transferId"
        ]
    },
    "transferContinuationAcceptParty": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "acceptParty"
        ],
        "properties": {
            "acceptParty": {
                "type": "boolean",
                "enum": [
                    true,
                    false
                ]
            }
        }
    },
    "bulkTransactionContinuationAcceptParty": {
        "description": "The object sent back as confirmation of payee parties when autoAcceptParty is false.",
        "type": "object",
        "additionalProperties": false,
        "required": [
            "individualTransfers"
        ],
        "properties": {
            "individualTransfers": {
                "description": "List of individual transfers in a bulk transfer with accept party information.",
                "type": "array",
                "minItems": 1,
                "items": {
                    "allOf": [
                        {
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the 'individualTransfer' while accepting party or quote.",
                            "properties": {
                                "transferId": {
                                    "title": "CorrelationId",
                                    "type": "string",
                                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                    "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                    "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                                }
                            },
                            "required": [
                                "transferId"
                            ]
                        },
                        {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "acceptParty"
                            ],
                            "properties": {
                                "acceptParty": {
                                    "type": "boolean",
                                    "enum": [
                                        true,
                                        false
                                    ]
                                }
                            }
                        }
                    ]
                }
            }
        }
    },
    "transferContinuationAcceptQuote": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "acceptQuote"
        ],
        "properties": {
            "acceptQuote": {
                "type": "boolean",
                "enum": [
                    true,
                    false
                ]
            }
        }
    },
    "bulkTransactionContinuationAcceptQuote": {
        "description": "The object sent back as confirmation of quotes when autoAcceptQuotes is false.",
        "type": "object",
        "additionalProperties": false,
        "required": [
            "individualTransfers"
        ],
        "properties": {
            "individualTransfers": {
                "description": "List of individual transfers in a bulk transfer.",
                "type": "array",
                "minItems": 1,
                "items": {
                    "allOf": [
                        {
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the 'individualTransfer' while accepting party or quote.",
                            "properties": {
                                "transferId": {
                                    "title": "CorrelationId",
                                    "type": "string",
                                    "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                    "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                    "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                                }
                            },
                            "required": [
                                "transferId"
                            ]
                        },
                        {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "acceptQuote"
                            ],
                            "properties": {
                                "acceptQuote": {
                                    "type": "boolean",
                                    "enum": [
                                        true,
                                        false
                                    ]
                                }
                            }
                        }
                    ]
                }
            }
        }
    },
    "partyError": {
        "type": "object",
        "additionalProperties": false,
        "description": "This object represents a Mojaloop API error received at any time during the party discovery process",
        "properties": {
            "httpStatusCode": {
                "type": "integer",
                "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
            },
            "mojaloopError": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "errorInformation": {
                        "title": "ErrorInformation",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type ErrorInformation.",
                        "properties": {
                            "errorCode": {
                                "title": "ErrorCode",
                                "type": "string",
                                "pattern": "^[1-9]\\d{3}$",
                                "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                "example": "5100"
                            },
                            "errorDescription": {
                                "title": "ErrorDescription",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Error description string."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "errorCode",
                            "errorDescription"
                        ]
                    }
                }
            }
        }
    },
    "bulkTransactionAcceptPartyErrorResponse": {
        "allOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Error code as string."
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message text."
                    }
                }
            },
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "bulkTransferState"
                ],
                "properties": {
                    "bulkTransferState": {
                        "allOf": [
                            {
                                "description": "The object sent back as confirmation of payee parties when autoAcceptParty is false.",
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                    "individualTransfers"
                                ],
                                "properties": {
                                    "individualTransfers": {
                                        "description": "List of individual transfers in a bulk transfer with accept party information.",
                                        "type": "array",
                                        "minItems": 1,
                                        "items": {
                                            "allOf": [
                                                {
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the 'individualTransfer' while accepting party or quote.",
                                                    "properties": {
                                                        "transferId": {
                                                            "title": "CorrelationId",
                                                            "type": "string",
                                                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                                                        }
                                                    },
                                                    "required": [
                                                        "transferId"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "required": [
                                                        "acceptParty"
                                                    ],
                                                    "properties": {
                                                        "acceptParty": {
                                                            "type": "boolean",
                                                            "enum": [
                                                                true,
                                                                false
                                                            ]
                                                        }
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                }
                            },
                            {
                                "type": "object",
                                "additionalProperties": false,
                                "description": "This object represents a Mojaloop API error received at any time during the party discovery process",
                                "properties": {
                                    "httpStatusCode": {
                                        "type": "integer",
                                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                    },
                                    "mojaloopError": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "properties": {
                                            "errorInformation": {
                                                "title": "ErrorInformation",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type ErrorInformation.",
                                                "properties": {
                                                    "errorCode": {
                                                        "title": "ErrorCode",
                                                        "type": "string",
                                                        "pattern": "^[1-9]\\d{3}$",
                                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                        "example": "5100"
                                                    },
                                                    "errorDescription": {
                                                        "title": "ErrorDescription",
                                                        "type": "string",
                                                        "minLength": 1,
                                                        "maxLength": 128,
                                                        "description": "Error description string."
                                                    },
                                                    "extensionList": {
                                                        "title": "ExtensionList",
                                                        "type": "object",
                                                        "additionalProperties": false,
                                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                        "properties": {
                                                            "extension": {
                                                                "type": "array",
                                                                "items": {
                                                                    "title": "Extension",
                                                                    "type": "object",
                                                                    "additionalProperties": false,
                                                                    "description": "Data model for the complex type Extension.",
                                                                    "properties": {
                                                                        "key": {
                                                                            "title": "ExtensionKey",
                                                                            "type": "string",
                                                                            "minLength": 1,
                                                                            "maxLength": 32,
                                                                            "description": "Extension key."
                                                                        },
                                                                        "value": {
                                                                            "title": "ExtensionValue",
                                                                            "type": "string",
                                                                            "minLength": 1,
                                                                            "maxLength": 128,
                                                                            "description": "Extension value."
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "value"
                                                                    ]
                                                                },
                                                                "minItems": 1,
                                                                "maxItems": 16,
                                                                "description": "Number of Extension elements."
                                                            }
                                                        },
                                                        "required": [
                                                            "extension"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "errorCode",
                                                    "errorDescription"
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        ]
    },
    "bulkTransactionAcceptQuoteErrorResponse": {
        "allOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Error code as string."
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message text."
                    }
                }
            },
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "bulkTansferState"
                ],
                "properties": {
                    "bulkTransferState": {
                        "allOf": [
                            {
                                "description": "The object sent back as confirmation of quotes when autoAcceptQuotes is false.",
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                    "individualTransfers"
                                ],
                                "properties": {
                                    "individualTransfers": {
                                        "description": "List of individual transfers in a bulk transfer.",
                                        "type": "array",
                                        "minItems": 1,
                                        "items": {
                                            "allOf": [
                                                {
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the 'individualTransfer' while accepting party or quote.",
                                                    "properties": {
                                                        "transferId": {
                                                            "title": "CorrelationId",
                                                            "type": "string",
                                                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                                                        }
                                                    },
                                                    "required": [
                                                        "transferId"
                                                    ]
                                                },
                                                {
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "required": [
                                                        "acceptQuote"
                                                    ],
                                                    "properties": {
                                                        "acceptQuote": {
                                                            "type": "boolean",
                                                            "enum": [
                                                                true,
                                                                false
                                                            ]
                                                        }
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                }
                            },
                            {
                                "type": "object",
                                "additionalProperties": false,
                                "description": "This object represents a Mojaloop API error received at any time during the quote process",
                                "properties": {
                                    "httpStatusCode": {
                                        "type": "integer",
                                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                    },
                                    "mojaloopError": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "properties": {
                                            "errorInformation": {
                                                "title": "ErrorInformation",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type ErrorInformation.",
                                                "properties": {
                                                    "errorCode": {
                                                        "title": "ErrorCode",
                                                        "type": "string",
                                                        "pattern": "^[1-9]\\d{3}$",
                                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                        "example": "5100"
                                                    },
                                                    "errorDescription": {
                                                        "title": "ErrorDescription",
                                                        "type": "string",
                                                        "minLength": 1,
                                                        "maxLength": 128,
                                                        "description": "Error description string."
                                                    },
                                                    "extensionList": {
                                                        "title": "ExtensionList",
                                                        "type": "object",
                                                        "additionalProperties": false,
                                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                        "properties": {
                                                            "extension": {
                                                                "type": "array",
                                                                "items": {
                                                                    "title": "Extension",
                                                                    "type": "object",
                                                                    "additionalProperties": false,
                                                                    "description": "Data model for the complex type Extension.",
                                                                    "properties": {
                                                                        "key": {
                                                                            "title": "ExtensionKey",
                                                                            "type": "string",
                                                                            "minLength": 1,
                                                                            "maxLength": 32,
                                                                            "description": "Extension key."
                                                                        },
                                                                        "value": {
                                                                            "title": "ExtensionValue",
                                                                            "type": "string",
                                                                            "minLength": 1,
                                                                            "maxLength": 128,
                                                                            "description": "Extension value."
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "value"
                                                                    ]
                                                                },
                                                                "minItems": 1,
                                                                "maxItems": 16,
                                                                "description": "Number of Extension elements."
                                                            }
                                                        },
                                                        "required": [
                                                            "extension"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "errorCode",
                                                    "errorDescription"
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        ]
    },
    "individualTransfer": {
        "title": "IndividualTransfer",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type 'individualTransfer'.",
        "properties": {
            "transferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "to": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "transactionType": {
                "title": "transferTransactionType",
                "type": "string",
                "enum": [
                    "TRANSFER"
                ],
                "description": "Type of transaction."
            },
            "subScenario": {
                "title": "TransactionSubScenario",
                "type": "string",
                "pattern": "^[A-Z_]{1,32}$",
                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                "example": "LOCALLY_DEFINED_SUBSCENARIO"
            },
            "ilpPacket": {
                "title": "IlpPacket",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                "minLength": 1,
                "maxLength": 32768,
                "description": "Information for recipient (transport layer information).",
                "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
            },
            "condition": {
                "title": "IlpCondition",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]{43}$",
                "maxLength": 48,
                "description": "Condition that must be attached to the transfer by the Payer."
            },
            "note": {
                "title": "Note",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Memo assigned to transaction.",
                "example": "Note sent to Payee."
            },
            "extensions": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        },
        "required": [
            "transferId",
            "to",
            "amountType",
            "currency",
            "amount",
            "ilpPacket",
            "condition"
        ]
    },
    "bulkTransferRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "bulkTransferId",
            "homeTransactionId",
            "bulkQuoteId",
            "from",
            "individualTransfers"
        ],
        "properties": {
            "homeTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "bulkTransferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "bulkQuoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "from": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "individualTransfers": {
                "description": "List of individual transfers in a bulk transfer.",
                "type": "array",
                "minItems": 1,
                "maxItems": 1000,
                "items": {
                    "title": "IndividualTransfer",
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Data model for the complex type 'individualTransfer'.",
                    "properties": {
                        "transferId": {
                            "title": "CorrelationId",
                            "type": "string",
                            "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                            "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                            "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                        },
                        "to": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "idType",
                                "idValue"
                            ],
                            "properties": {
                                "type": {
                                    "title": "TransactionInitiatorType",
                                    "type": "string",
                                    "enum": [
                                        "CONSUMER",
                                        "AGENT",
                                        "BUSINESS",
                                        "DEVICE"
                                    ],
                                    "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                                    "example": "CONSUMER"
                                },
                                "idType": {
                                    "title": "PartyIdType",
                                    "type": "string",
                                    "enum": [
                                        "MSISDN",
                                        "EMAIL",
                                        "PERSONAL_ID",
                                        "BUSINESS",
                                        "DEVICE",
                                        "ACCOUNT_ID",
                                        "IBAN",
                                        "ALIAS"
                                    ],
                                    "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                },
                                "idValue": {
                                    "title": "PartyIdentifier",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Identifier of the Party.",
                                    "example": "16135551212"
                                },
                                "idSubValue": {
                                    "title": "PartySubIdOrType",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                },
                                "displayName": {
                                    "title": "Name",
                                    "type": "string",
                                    "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                                    "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                                },
                                "firstName": {
                                    "title": "FirstName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "First name of the Party (Name Type).",
                                    "example": "Henrik"
                                },
                                "middleName": {
                                    "title": "MiddleName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "Middle name of the Party (Name Type).",
                                    "example": "Johannes"
                                },
                                "lastName": {
                                    "title": "LastName",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                    "description": "Last name of the Party (Name Type).",
                                    "example": "Karlsson"
                                },
                                "dateOfBirth": {
                                    "title": "DateofBirth (type Date)",
                                    "type": "string",
                                    "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                    "description": "Date of Birth of the Party.",
                                    "example": "1966-06-16"
                                },
                                "merchantClassificationCode": {
                                    "title": "MerchantClassificationCode",
                                    "type": "string",
                                    "pattern": "^[\\d]{1,4}$",
                                    "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                                },
                                "fspId": {
                                    "title": "FspId",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "FSP identifier."
                                },
                                "extensionList": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 0,
                                    "maxItems": 16
                                }
                            }
                        },
                        "amountType": {
                            "title": "AmountType",
                            "type": "string",
                            "enum": [
                                "SEND",
                                "RECEIVE"
                            ],
                            "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                            "example": "RECEIVE"
                        },
                        "currency": {
                            "title": "Currency",
                            "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                            "type": "string",
                            "minLength": 3,
                            "maxLength": 3,
                            "enum": [
                                "AED",
                                "AFN",
                                "ALL",
                                "AMD",
                                "ANG",
                                "AOA",
                                "ARS",
                                "AUD",
                                "AWG",
                                "AZN",
                                "BAM",
                                "BBD",
                                "BDT",
                                "BGN",
                                "BHD",
                                "BIF",
                                "BMD",
                                "BND",
                                "BOB",
                                "BRL",
                                "BSD",
                                "BTN",
                                "BWP",
                                "BYN",
                                "BZD",
                                "CAD",
                                "CDF",
                                "CHF",
                                "CLP",
                                "CNY",
                                "COP",
                                "CRC",
                                "CUC",
                                "CUP",
                                "CVE",
                                "CZK",
                                "DJF",
                                "DKK",
                                "DOP",
                                "DZD",
                                "EGP",
                                "ERN",
                                "ETB",
                                "EUR",
                                "FJD",
                                "FKP",
                                "GBP",
                                "GEL",
                                "GGP",
                                "GHS",
                                "GIP",
                                "GMD",
                                "GNF",
                                "GTQ",
                                "GYD",
                                "HKD",
                                "HNL",
                                "HRK",
                                "HTG",
                                "HUF",
                                "IDR",
                                "ILS",
                                "IMP",
                                "INR",
                                "IQD",
                                "IRR",
                                "ISK",
                                "JEP",
                                "JMD",
                                "JOD",
                                "JPY",
                                "KES",
                                "KGS",
                                "KHR",
                                "KMF",
                                "KPW",
                                "KRW",
                                "KWD",
                                "KYD",
                                "KZT",
                                "LAK",
                                "LBP",
                                "LKR",
                                "LRD",
                                "LSL",
                                "LYD",
                                "MAD",
                                "MDL",
                                "MGA",
                                "MKD",
                                "MMK",
                                "MNT",
                                "MOP",
                                "MRO",
                                "MUR",
                                "MVR",
                                "MWK",
                                "MXN",
                                "MYR",
                                "MZN",
                                "NAD",
                                "NGN",
                                "NIO",
                                "NOK",
                                "NPR",
                                "NZD",
                                "OMR",
                                "PAB",
                                "PEN",
                                "PGK",
                                "PHP",
                                "PKR",
                                "PLN",
                                "PYG",
                                "QAR",
                                "RON",
                                "RSD",
                                "RUB",
                                "RWF",
                                "SAR",
                                "SBD",
                                "SCR",
                                "SDG",
                                "SEK",
                                "SGD",
                                "SHP",
                                "SLL",
                                "SOS",
                                "SPL",
                                "SRD",
                                "STD",
                                "SVC",
                                "SYP",
                                "SZL",
                                "THB",
                                "TJS",
                                "TMT",
                                "TND",
                                "TOP",
                                "TRY",
                                "TTD",
                                "TVD",
                                "TWD",
                                "TZS",
                                "UAH",
                                "UGX",
                                "USD",
                                "UYU",
                                "UZS",
                                "VEF",
                                "VND",
                                "VUV",
                                "WST",
                                "XAF",
                                "XCD",
                                "XDR",
                                "XOF",
                                "XPF",
                                "XTS",
                                "XXX",
                                "YER",
                                "ZAR",
                                "ZMW",
                                "ZWD"
                            ]
                        },
                        "amount": {
                            "title": "Amount",
                            "type": "string",
                            "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                            "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                            "example": "123.45"
                        },
                        "transactionType": {
                            "title": "transferTransactionType",
                            "type": "string",
                            "enum": [
                                "TRANSFER"
                            ],
                            "description": "Type of transaction."
                        },
                        "subScenario": {
                            "title": "TransactionSubScenario",
                            "type": "string",
                            "pattern": "^[A-Z_]{1,32}$",
                            "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                            "example": "LOCALLY_DEFINED_SUBSCENARIO"
                        },
                        "ilpPacket": {
                            "title": "IlpPacket",
                            "type": "string",
                            "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                            "minLength": 1,
                            "maxLength": 32768,
                            "description": "Information for recipient (transport layer information).",
                            "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
                        },
                        "condition": {
                            "title": "IlpCondition",
                            "type": "string",
                            "pattern": "^[A-Za-z0-9-_]{43}$",
                            "maxLength": 48,
                            "description": "Condition that must be attached to the transfer by the Payer."
                        },
                        "note": {
                            "title": "Note",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Memo assigned to transaction.",
                            "example": "Note sent to Payee."
                        },
                        "extensions": {
                            "title": "ExtensionList",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                            "properties": {
                                "extension": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 1,
                                    "maxItems": 16,
                                    "description": "Number of Extension elements."
                                }
                            },
                            "required": [
                                "extension"
                            ]
                        }
                    },
                    "required": [
                        "transferId",
                        "to",
                        "amountType",
                        "currency",
                        "amount",
                        "ilpPacket",
                        "condition"
                    ]
                }
            },
            "extensions": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        }
    },
    "individualTransferFulfilment": {
        "type": "object",
        "additionalProperties": false,
        "description": "A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer",
        "properties": {
            "fulfilment": {
                "title": "IlpFulfilment",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]{43}$",
                "maxLength": 48,
                "description": "Fulfilment that must be attached to the transfer by the Payee.",
                "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        }
    },
    "bulkTransferStatusResponse": {
        "type": "object",
        "required": [
            "bulkTransferId",
            "currentState",
            "fulfils"
        ],
        "properties": {
            "bulkTransferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "COMPLETED"
                ]
            },
            "fulfils": {
                "type": "array",
                "minItems": 1,
                "maxItems": 1000,
                "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "description": "A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer",
                    "properties": {
                        "fulfilment": {
                            "title": "IlpFulfilment",
                            "type": "string",
                            "pattern": "^[A-Za-z0-9-_]{43}$",
                            "maxLength": 48,
                            "description": "Fulfilment that must be attached to the transfer by the Payee.",
                            "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
                        },
                        "extensionList": {
                            "title": "ExtensionList",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                            "properties": {
                                "extension": {
                                    "type": "array",
                                    "items": {
                                        "title": "Extension",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type Extension.",
                                        "properties": {
                                            "key": {
                                                "title": "ExtensionKey",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 32,
                                                "description": "Extension key."
                                            },
                                            "value": {
                                                "title": "ExtensionValue",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "description": "Extension value."
                                            }
                                        },
                                        "required": [
                                            "key",
                                            "value"
                                        ]
                                    },
                                    "minItems": 1,
                                    "maxItems": 16,
                                    "description": "Number of Extension elements."
                                }
                            },
                            "required": [
                                "extension"
                            ]
                        }
                    }
                }
            }
        }
    },
    "async2SyncCurrentState": {
        "type": "string",
        "enum": [
            "WAITING_FOR_ACTION",
            "COMPLETED",
            "ERROR_OCCURRED"
        ]
    },
    "partiesByIdResponse": {
        "title": "partiesByIdResponse",
        "type": "object",
        "additionalProperties": false,
        "description": "GET /parties/{Type}/{ID} response object",
        "properties": {
            "party": {
                "properties": {
                    "body": {
                        "title": "Party",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type Party.",
                        "properties": {
                            "partyIdInfo": {
                                "title": "PartyIdInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                                "properties": {
                                    "partyIdType": {
                                        "title": "PartyIdType",
                                        "type": "string",
                                        "enum": [
                                            "MSISDN",
                                            "EMAIL",
                                            "PERSONAL_ID",
                                            "BUSINESS",
                                            "DEVICE",
                                            "ACCOUNT_ID",
                                            "IBAN",
                                            "ALIAS"
                                        ],
                                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                    },
                                    "partyIdentifier": {
                                        "title": "PartyIdentifier",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Identifier of the Party.",
                                        "example": "16135551212"
                                    },
                                    "partySubIdOrType": {
                                        "title": "PartySubIdOrType",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                    },
                                    "fspId": {
                                        "title": "FspId",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 32,
                                        "description": "FSP identifier."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "partyIdType",
                                    "partyIdentifier"
                                ]
                            },
                            "merchantClassificationCode": {
                                "title": "MerchantClassificationCode",
                                "type": "string",
                                "pattern": "^[\\d]{1,4}$",
                                "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                            },
                            "name": {
                                "title": "PartyName",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Name of the Party. Could be a real name or a nickname."
                            },
                            "personalInfo": {
                                "title": "PartyPersonalInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyPersonalInfo.",
                                "properties": {
                                    "complexName": {
                                        "title": "PartyComplexName",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type PartyComplexName.",
                                        "properties": {
                                            "firstName": {
                                                "title": "FirstName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "First name of the Party (Name Type).",
                                                "example": "Henrik"
                                            },
                                            "middleName": {
                                                "title": "MiddleName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "Middle name of the Party (Name Type).",
                                                "example": "Johannes"
                                            },
                                            "lastName": {
                                                "title": "LastName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "Last name of the Party (Name Type).",
                                                "example": "Karlsson"
                                            }
                                        }
                                    },
                                    "dateOfBirth": {
                                        "title": "DateofBirth (type Date)",
                                        "type": "string",
                                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                        "description": "Date of Birth of the Party.",
                                        "example": "1966-06-16"
                                    }
                                }
                            }
                        },
                        "required": [
                            "partyIdInfo"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                },
                "required": [
                    "body",
                    "headers"
                ]
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "WAITING_FOR_ACTION",
                    "COMPLETED",
                    "ERROR_OCCURRED"
                ]
            }
        },
        "required": [
            "party",
            "currentState"
        ]
    },
    "TransactionScenario": {
        "title": "TransactionScenario",
        "type": "string",
        "enum": [
            "DEPOSIT",
            "WITHDRAWAL",
            "TRANSFER",
            "PAYMENT",
            "REFUND"
        ],
        "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.",
        "example": "DEPOSIT"
    },
    "TransactionInitiator": {
        "title": "TransactionInitiator",
        "type": "string",
        "enum": [
            "PAYER",
            "PAYEE"
        ],
        "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.",
        "example": "PAYEE"
    },
    "RefundReason": {
        "title": "RefundReason",
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "description": "Reason for the refund.",
        "example": "Free text indicating reason for the refund."
    },
    "Refund": {
        "title": "Refund",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type Refund.",
        "properties": {
            "originalTransactionId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "refundReason": {
                "title": "RefundReason",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Reason for the refund.",
                "example": "Free text indicating reason for the refund."
            }
        },
        "required": [
            "originalTransactionId"
        ]
    },
    "BalanceOfPayments": {
        "title": "BalanceOfPayments",
        "type": "string",
        "pattern": "^[1-9]\\d{2}$",
        "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.",
        "example": "123"
    },
    "TransactionType": {
        "title": "TransactionType",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type TransactionType.",
        "properties": {
            "scenario": {
                "title": "TransactionScenario",
                "type": "string",
                "enum": [
                    "DEPOSIT",
                    "WITHDRAWAL",
                    "TRANSFER",
                    "PAYMENT",
                    "REFUND"
                ],
                "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.",
                "example": "DEPOSIT"
            },
            "subScenario": {
                "title": "TransactionSubScenario",
                "type": "string",
                "pattern": "^[A-Z_]{1,32}$",
                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                "example": "LOCALLY_DEFINED_SUBSCENARIO"
            },
            "initiator": {
                "title": "TransactionInitiator",
                "type": "string",
                "enum": [
                    "PAYER",
                    "PAYEE"
                ],
                "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.",
                "example": "PAYEE"
            },
            "initiatorType": {
                "title": "TransactionInitiatorType",
                "type": "string",
                "enum": [
                    "CONSUMER",
                    "AGENT",
                    "BUSINESS",
                    "DEVICE"
                ],
                "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                "example": "CONSUMER"
            },
            "refundInfo": {
                "title": "Refund",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Refund.",
                "properties": {
                    "originalTransactionId": {
                        "title": "CorrelationId",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                        "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                        "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                    },
                    "refundReason": {
                        "title": "RefundReason",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Reason for the refund.",
                        "example": "Free text indicating reason for the refund."
                    }
                },
                "required": [
                    "originalTransactionId"
                ]
            },
            "balanceOfPayments": {
                "title": "BalanceOfPayments",
                "type": "string",
                "pattern": "^[1-9]\\d{2}$",
                "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.",
                "example": "123"
            }
        },
        "required": [
            "scenario",
            "initiator",
            "initiatorType"
        ]
    },
    "QuotesPostRequest": {
        "title": "QuotesPostRequest",
        "type": "object",
        "additionalProperties": false,
        "description": "The object sent in the POST /quotes request.",
        "properties": {
            "quoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "transactionId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "transactionRequestId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "payee": {
                "title": "Party",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Party.",
                "properties": {
                    "partyIdInfo": {
                        "title": "PartyIdInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                        "properties": {
                            "partyIdType": {
                                "title": "PartyIdType",
                                "type": "string",
                                "enum": [
                                    "MSISDN",
                                    "EMAIL",
                                    "PERSONAL_ID",
                                    "BUSINESS",
                                    "DEVICE",
                                    "ACCOUNT_ID",
                                    "IBAN",
                                    "ALIAS"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                            },
                            "partyIdentifier": {
                                "title": "PartyIdentifier",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Identifier of the Party.",
                                "example": "16135551212"
                            },
                            "partySubIdOrType": {
                                "title": "PartySubIdOrType",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                            },
                            "fspId": {
                                "title": "FspId",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 32,
                                "description": "FSP identifier."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "partyIdType",
                            "partyIdentifier"
                        ]
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "name": {
                        "title": "PartyName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Name of the Party. Could be a real name or a nickname."
                    },
                    "personalInfo": {
                        "title": "PartyPersonalInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyPersonalInfo.",
                        "properties": {
                            "complexName": {
                                "title": "PartyComplexName",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyComplexName.",
                                "properties": {
                                    "firstName": {
                                        "title": "FirstName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "First name of the Party (Name Type).",
                                        "example": "Henrik"
                                    },
                                    "middleName": {
                                        "title": "MiddleName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Middle name of the Party (Name Type).",
                                        "example": "Johannes"
                                    },
                                    "lastName": {
                                        "title": "LastName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Last name of the Party (Name Type).",
                                        "example": "Karlsson"
                                    }
                                }
                            },
                            "dateOfBirth": {
                                "title": "DateofBirth (type Date)",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                "description": "Date of Birth of the Party.",
                                "example": "1966-06-16"
                            }
                        }
                    }
                },
                "required": [
                    "partyIdInfo"
                ]
            },
            "payer": {
                "title": "Party",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Party.",
                "properties": {
                    "partyIdInfo": {
                        "title": "PartyIdInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                        "properties": {
                            "partyIdType": {
                                "title": "PartyIdType",
                                "type": "string",
                                "enum": [
                                    "MSISDN",
                                    "EMAIL",
                                    "PERSONAL_ID",
                                    "BUSINESS",
                                    "DEVICE",
                                    "ACCOUNT_ID",
                                    "IBAN",
                                    "ALIAS"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                            },
                            "partyIdentifier": {
                                "title": "PartyIdentifier",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Identifier of the Party.",
                                "example": "16135551212"
                            },
                            "partySubIdOrType": {
                                "title": "PartySubIdOrType",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                            },
                            "fspId": {
                                "title": "FspId",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 32,
                                "description": "FSP identifier."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "partyIdType",
                            "partyIdentifier"
                        ]
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "name": {
                        "title": "PartyName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Name of the Party. Could be a real name or a nickname."
                    },
                    "personalInfo": {
                        "title": "PartyPersonalInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyPersonalInfo.",
                        "properties": {
                            "complexName": {
                                "title": "PartyComplexName",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyComplexName.",
                                "properties": {
                                    "firstName": {
                                        "title": "FirstName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "First name of the Party (Name Type).",
                                        "example": "Henrik"
                                    },
                                    "middleName": {
                                        "title": "MiddleName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Middle name of the Party (Name Type).",
                                        "example": "Johannes"
                                    },
                                    "lastName": {
                                        "title": "LastName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Last name of the Party (Name Type).",
                                        "example": "Karlsson"
                                    }
                                }
                            },
                            "dateOfBirth": {
                                "title": "DateofBirth (type Date)",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                "description": "Date of Birth of the Party.",
                                "example": "1966-06-16"
                            }
                        }
                    }
                },
                "required": [
                    "partyIdInfo"
                ]
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "amount": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "fees": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "transactionType": {
                "title": "TransactionType",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type TransactionType.",
                "properties": {
                    "scenario": {
                        "title": "TransactionScenario",
                        "type": "string",
                        "enum": [
                            "DEPOSIT",
                            "WITHDRAWAL",
                            "TRANSFER",
                            "PAYMENT",
                            "REFUND"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.",
                        "example": "DEPOSIT"
                    },
                    "subScenario": {
                        "title": "TransactionSubScenario",
                        "type": "string",
                        "pattern": "^[A-Z_]{1,32}$",
                        "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                        "example": "LOCALLY_DEFINED_SUBSCENARIO"
                    },
                    "initiator": {
                        "title": "TransactionInitiator",
                        "type": "string",
                        "enum": [
                            "PAYER",
                            "PAYEE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.",
                        "example": "PAYEE"
                    },
                    "initiatorType": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "refundInfo": {
                        "title": "Refund",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type Refund.",
                        "properties": {
                            "originalTransactionId": {
                                "title": "CorrelationId",
                                "type": "string",
                                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                            },
                            "refundReason": {
                                "title": "RefundReason",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Reason for the refund.",
                                "example": "Free text indicating reason for the refund."
                            }
                        },
                        "required": [
                            "originalTransactionId"
                        ]
                    },
                    "balanceOfPayments": {
                        "title": "BalanceOfPayments",
                        "type": "string",
                        "pattern": "^[1-9]\\d{2}$",
                        "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.",
                        "example": "123"
                    }
                },
                "required": [
                    "scenario",
                    "initiator",
                    "initiatorType"
                ]
            },
            "geoCode": {
                "title": "GeoCode",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                "properties": {
                    "latitude": {
                        "title": "Latitude",
                        "type": "string",
                        "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                        "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                        "example": "+45.4215"
                    },
                    "longitude": {
                        "title": "Longitude",
                        "type": "string",
                        "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                        "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                        "example": "+75.6972"
                    }
                },
                "required": [
                    "latitude",
                    "longitude"
                ]
            },
            "note": {
                "title": "Note",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Memo assigned to transaction.",
                "example": "Note sent to Payee."
            },
            "expiration": {
                "title": "DateTime",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                "example": "2016-05-24T08:38:08.699-04:00"
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        },
        "required": [
            "quoteId",
            "transactionId",
            "payee",
            "payer",
            "amountType",
            "amount",
            "transactionType"
        ]
    },
    "simpleQuotesPostRequest": {
        "title": "simpleQuotesPostRequest",
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "fspId": {
                "title": "FspId",
                "type": "string",
                "minLength": 1,
                "maxLength": 32,
                "description": "FSP identifier."
            },
            "quotesPostRequest": {
                "title": "QuotesPostRequest",
                "type": "object",
                "additionalProperties": false,
                "description": "The object sent in the POST /quotes request.",
                "properties": {
                    "quoteId": {
                        "title": "CorrelationId",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                        "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                        "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                    },
                    "transactionId": {
                        "title": "CorrelationId",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                        "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                        "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                    },
                    "transactionRequestId": {
                        "title": "CorrelationId",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                        "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                        "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                    },
                    "payee": {
                        "title": "Party",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type Party.",
                        "properties": {
                            "partyIdInfo": {
                                "title": "PartyIdInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                                "properties": {
                                    "partyIdType": {
                                        "title": "PartyIdType",
                                        "type": "string",
                                        "enum": [
                                            "MSISDN",
                                            "EMAIL",
                                            "PERSONAL_ID",
                                            "BUSINESS",
                                            "DEVICE",
                                            "ACCOUNT_ID",
                                            "IBAN",
                                            "ALIAS"
                                        ],
                                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                    },
                                    "partyIdentifier": {
                                        "title": "PartyIdentifier",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Identifier of the Party.",
                                        "example": "16135551212"
                                    },
                                    "partySubIdOrType": {
                                        "title": "PartySubIdOrType",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                    },
                                    "fspId": {
                                        "title": "FspId",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 32,
                                        "description": "FSP identifier."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "partyIdType",
                                    "partyIdentifier"
                                ]
                            },
                            "merchantClassificationCode": {
                                "title": "MerchantClassificationCode",
                                "type": "string",
                                "pattern": "^[\\d]{1,4}$",
                                "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                            },
                            "name": {
                                "title": "PartyName",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Name of the Party. Could be a real name or a nickname."
                            },
                            "personalInfo": {
                                "title": "PartyPersonalInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyPersonalInfo.",
                                "properties": {
                                    "complexName": {
                                        "title": "PartyComplexName",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type PartyComplexName.",
                                        "properties": {
                                            "firstName": {
                                                "title": "FirstName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "First name of the Party (Name Type).",
                                                "example": "Henrik"
                                            },
                                            "middleName": {
                                                "title": "MiddleName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "Middle name of the Party (Name Type).",
                                                "example": "Johannes"
                                            },
                                            "lastName": {
                                                "title": "LastName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "Last name of the Party (Name Type).",
                                                "example": "Karlsson"
                                            }
                                        }
                                    },
                                    "dateOfBirth": {
                                        "title": "DateofBirth (type Date)",
                                        "type": "string",
                                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                        "description": "Date of Birth of the Party.",
                                        "example": "1966-06-16"
                                    }
                                }
                            }
                        },
                        "required": [
                            "partyIdInfo"
                        ]
                    },
                    "payer": {
                        "title": "Party",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type Party.",
                        "properties": {
                            "partyIdInfo": {
                                "title": "PartyIdInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                                "properties": {
                                    "partyIdType": {
                                        "title": "PartyIdType",
                                        "type": "string",
                                        "enum": [
                                            "MSISDN",
                                            "EMAIL",
                                            "PERSONAL_ID",
                                            "BUSINESS",
                                            "DEVICE",
                                            "ACCOUNT_ID",
                                            "IBAN",
                                            "ALIAS"
                                        ],
                                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                    },
                                    "partyIdentifier": {
                                        "title": "PartyIdentifier",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Identifier of the Party.",
                                        "example": "16135551212"
                                    },
                                    "partySubIdOrType": {
                                        "title": "PartySubIdOrType",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                    },
                                    "fspId": {
                                        "title": "FspId",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 32,
                                        "description": "FSP identifier."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "partyIdType",
                                    "partyIdentifier"
                                ]
                            },
                            "merchantClassificationCode": {
                                "title": "MerchantClassificationCode",
                                "type": "string",
                                "pattern": "^[\\d]{1,4}$",
                                "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                            },
                            "name": {
                                "title": "PartyName",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Name of the Party. Could be a real name or a nickname."
                            },
                            "personalInfo": {
                                "title": "PartyPersonalInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyPersonalInfo.",
                                "properties": {
                                    "complexName": {
                                        "title": "PartyComplexName",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type PartyComplexName.",
                                        "properties": {
                                            "firstName": {
                                                "title": "FirstName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "First name of the Party (Name Type).",
                                                "example": "Henrik"
                                            },
                                            "middleName": {
                                                "title": "MiddleName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "Middle name of the Party (Name Type).",
                                                "example": "Johannes"
                                            },
                                            "lastName": {
                                                "title": "LastName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "Last name of the Party (Name Type).",
                                                "example": "Karlsson"
                                            }
                                        }
                                    },
                                    "dateOfBirth": {
                                        "title": "DateofBirth (type Date)",
                                        "type": "string",
                                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                        "description": "Date of Birth of the Party.",
                                        "example": "1966-06-16"
                                    }
                                }
                            }
                        },
                        "required": [
                            "partyIdInfo"
                        ]
                    },
                    "amountType": {
                        "title": "AmountType",
                        "type": "string",
                        "enum": [
                            "SEND",
                            "RECEIVE"
                        ],
                        "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                        "example": "RECEIVE"
                    },
                    "amount": {
                        "title": "Money",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type Money.",
                        "properties": {
                            "currency": {
                                "title": "Currency",
                                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                "type": "string",
                                "minLength": 3,
                                "maxLength": 3,
                                "enum": [
                                    "AED",
                                    "AFN",
                                    "ALL",
                                    "AMD",
                                    "ANG",
                                    "AOA",
                                    "ARS",
                                    "AUD",
                                    "AWG",
                                    "AZN",
                                    "BAM",
                                    "BBD",
                                    "BDT",
                                    "BGN",
                                    "BHD",
                                    "BIF",
                                    "BMD",
                                    "BND",
                                    "BOB",
                                    "BRL",
                                    "BSD",
                                    "BTN",
                                    "BWP",
                                    "BYN",
                                    "BZD",
                                    "CAD",
                                    "CDF",
                                    "CHF",
                                    "CLP",
                                    "CNY",
                                    "COP",
                                    "CRC",
                                    "CUC",
                                    "CUP",
                                    "CVE",
                                    "CZK",
                                    "DJF",
                                    "DKK",
                                    "DOP",
                                    "DZD",
                                    "EGP",
                                    "ERN",
                                    "ETB",
                                    "EUR",
                                    "FJD",
                                    "FKP",
                                    "GBP",
                                    "GEL",
                                    "GGP",
                                    "GHS",
                                    "GIP",
                                    "GMD",
                                    "GNF",
                                    "GTQ",
                                    "GYD",
                                    "HKD",
                                    "HNL",
                                    "HRK",
                                    "HTG",
                                    "HUF",
                                    "IDR",
                                    "ILS",
                                    "IMP",
                                    "INR",
                                    "IQD",
                                    "IRR",
                                    "ISK",
                                    "JEP",
                                    "JMD",
                                    "JOD",
                                    "JPY",
                                    "KES",
                                    "KGS",
                                    "KHR",
                                    "KMF",
                                    "KPW",
                                    "KRW",
                                    "KWD",
                                    "KYD",
                                    "KZT",
                                    "LAK",
                                    "LBP",
                                    "LKR",
                                    "LRD",
                                    "LSL",
                                    "LYD",
                                    "MAD",
                                    "MDL",
                                    "MGA",
                                    "MKD",
                                    "MMK",
                                    "MNT",
                                    "MOP",
                                    "MRO",
                                    "MUR",
                                    "MVR",
                                    "MWK",
                                    "MXN",
                                    "MYR",
                                    "MZN",
                                    "NAD",
                                    "NGN",
                                    "NIO",
                                    "NOK",
                                    "NPR",
                                    "NZD",
                                    "OMR",
                                    "PAB",
                                    "PEN",
                                    "PGK",
                                    "PHP",
                                    "PKR",
                                    "PLN",
                                    "PYG",
                                    "QAR",
                                    "RON",
                                    "RSD",
                                    "RUB",
                                    "RWF",
                                    "SAR",
                                    "SBD",
                                    "SCR",
                                    "SDG",
                                    "SEK",
                                    "SGD",
                                    "SHP",
                                    "SLL",
                                    "SOS",
                                    "SPL",
                                    "SRD",
                                    "STD",
                                    "SVC",
                                    "SYP",
                                    "SZL",
                                    "THB",
                                    "TJS",
                                    "TMT",
                                    "TND",
                                    "TOP",
                                    "TRY",
                                    "TTD",
                                    "TVD",
                                    "TWD",
                                    "TZS",
                                    "UAH",
                                    "UGX",
                                    "USD",
                                    "UYU",
                                    "UZS",
                                    "VEF",
                                    "VND",
                                    "VUV",
                                    "WST",
                                    "XAF",
                                    "XCD",
                                    "XDR",
                                    "XOF",
                                    "XPF",
                                    "XTS",
                                    "XXX",
                                    "YER",
                                    "ZAR",
                                    "ZMW",
                                    "ZWD"
                                ]
                            },
                            "amount": {
                                "title": "Amount",
                                "type": "string",
                                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                "example": "123.45"
                            }
                        },
                        "required": [
                            "currency",
                            "amount"
                        ]
                    },
                    "fees": {
                        "title": "Money",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type Money.",
                        "properties": {
                            "currency": {
                                "title": "Currency",
                                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                "type": "string",
                                "minLength": 3,
                                "maxLength": 3,
                                "enum": [
                                    "AED",
                                    "AFN",
                                    "ALL",
                                    "AMD",
                                    "ANG",
                                    "AOA",
                                    "ARS",
                                    "AUD",
                                    "AWG",
                                    "AZN",
                                    "BAM",
                                    "BBD",
                                    "BDT",
                                    "BGN",
                                    "BHD",
                                    "BIF",
                                    "BMD",
                                    "BND",
                                    "BOB",
                                    "BRL",
                                    "BSD",
                                    "BTN",
                                    "BWP",
                                    "BYN",
                                    "BZD",
                                    "CAD",
                                    "CDF",
                                    "CHF",
                                    "CLP",
                                    "CNY",
                                    "COP",
                                    "CRC",
                                    "CUC",
                                    "CUP",
                                    "CVE",
                                    "CZK",
                                    "DJF",
                                    "DKK",
                                    "DOP",
                                    "DZD",
                                    "EGP",
                                    "ERN",
                                    "ETB",
                                    "EUR",
                                    "FJD",
                                    "FKP",
                                    "GBP",
                                    "GEL",
                                    "GGP",
                                    "GHS",
                                    "GIP",
                                    "GMD",
                                    "GNF",
                                    "GTQ",
                                    "GYD",
                                    "HKD",
                                    "HNL",
                                    "HRK",
                                    "HTG",
                                    "HUF",
                                    "IDR",
                                    "ILS",
                                    "IMP",
                                    "INR",
                                    "IQD",
                                    "IRR",
                                    "ISK",
                                    "JEP",
                                    "JMD",
                                    "JOD",
                                    "JPY",
                                    "KES",
                                    "KGS",
                                    "KHR",
                                    "KMF",
                                    "KPW",
                                    "KRW",
                                    "KWD",
                                    "KYD",
                                    "KZT",
                                    "LAK",
                                    "LBP",
                                    "LKR",
                                    "LRD",
                                    "LSL",
                                    "LYD",
                                    "MAD",
                                    "MDL",
                                    "MGA",
                                    "MKD",
                                    "MMK",
                                    "MNT",
                                    "MOP",
                                    "MRO",
                                    "MUR",
                                    "MVR",
                                    "MWK",
                                    "MXN",
                                    "MYR",
                                    "MZN",
                                    "NAD",
                                    "NGN",
                                    "NIO",
                                    "NOK",
                                    "NPR",
                                    "NZD",
                                    "OMR",
                                    "PAB",
                                    "PEN",
                                    "PGK",
                                    "PHP",
                                    "PKR",
                                    "PLN",
                                    "PYG",
                                    "QAR",
                                    "RON",
                                    "RSD",
                                    "RUB",
                                    "RWF",
                                    "SAR",
                                    "SBD",
                                    "SCR",
                                    "SDG",
                                    "SEK",
                                    "SGD",
                                    "SHP",
                                    "SLL",
                                    "SOS",
                                    "SPL",
                                    "SRD",
                                    "STD",
                                    "SVC",
                                    "SYP",
                                    "SZL",
                                    "THB",
                                    "TJS",
                                    "TMT",
                                    "TND",
                                    "TOP",
                                    "TRY",
                                    "TTD",
                                    "TVD",
                                    "TWD",
                                    "TZS",
                                    "UAH",
                                    "UGX",
                                    "USD",
                                    "UYU",
                                    "UZS",
                                    "VEF",
                                    "VND",
                                    "VUV",
                                    "WST",
                                    "XAF",
                                    "XCD",
                                    "XDR",
                                    "XOF",
                                    "XPF",
                                    "XTS",
                                    "XXX",
                                    "YER",
                                    "ZAR",
                                    "ZMW",
                                    "ZWD"
                                ]
                            },
                            "amount": {
                                "title": "Amount",
                                "type": "string",
                                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                "example": "123.45"
                            }
                        },
                        "required": [
                            "currency",
                            "amount"
                        ]
                    },
                    "transactionType": {
                        "title": "TransactionType",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type TransactionType.",
                        "properties": {
                            "scenario": {
                                "title": "TransactionScenario",
                                "type": "string",
                                "enum": [
                                    "DEPOSIT",
                                    "WITHDRAWAL",
                                    "TRANSFER",
                                    "PAYMENT",
                                    "REFUND"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.",
                                "example": "DEPOSIT"
                            },
                            "subScenario": {
                                "title": "TransactionSubScenario",
                                "type": "string",
                                "pattern": "^[A-Z_]{1,32}$",
                                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                                "example": "LOCALLY_DEFINED_SUBSCENARIO"
                            },
                            "initiator": {
                                "title": "TransactionInitiator",
                                "type": "string",
                                "enum": [
                                    "PAYER",
                                    "PAYEE"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.",
                                "example": "PAYEE"
                            },
                            "initiatorType": {
                                "title": "TransactionInitiatorType",
                                "type": "string",
                                "enum": [
                                    "CONSUMER",
                                    "AGENT",
                                    "BUSINESS",
                                    "DEVICE"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                                "example": "CONSUMER"
                            },
                            "refundInfo": {
                                "title": "Refund",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Refund.",
                                "properties": {
                                    "originalTransactionId": {
                                        "title": "CorrelationId",
                                        "type": "string",
                                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                        "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                        "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                                    },
                                    "refundReason": {
                                        "title": "RefundReason",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Reason for the refund.",
                                        "example": "Free text indicating reason for the refund."
                                    }
                                },
                                "required": [
                                    "originalTransactionId"
                                ]
                            },
                            "balanceOfPayments": {
                                "title": "BalanceOfPayments",
                                "type": "string",
                                "pattern": "^[1-9]\\d{2}$",
                                "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.",
                                "example": "123"
                            }
                        },
                        "required": [
                            "scenario",
                            "initiator",
                            "initiatorType"
                        ]
                    },
                    "geoCode": {
                        "title": "GeoCode",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                        "properties": {
                            "latitude": {
                                "title": "Latitude",
                                "type": "string",
                                "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                "example": "+45.4215"
                            },
                            "longitude": {
                                "title": "Longitude",
                                "type": "string",
                                "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                "example": "+75.6972"
                            }
                        },
                        "required": [
                            "latitude",
                            "longitude"
                        ]
                    },
                    "note": {
                        "title": "Note",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Memo assigned to transaction.",
                        "example": "Note sent to Payee."
                    },
                    "expiration": {
                        "title": "DateTime",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                        "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                        "example": "2016-05-24T08:38:08.699-04:00"
                    },
                    "extensionList": {
                        "title": "ExtensionList",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                        "properties": {
                            "extension": {
                                "type": "array",
                                "items": {
                                    "title": "Extension",
                                    "type": "object",
                                    "additionalProperties": false,
                                    "description": "Data model for the complex type Extension.",
                                    "properties": {
                                        "key": {
                                            "title": "ExtensionKey",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 32,
                                            "description": "Extension key."
                                        },
                                        "value": {
                                            "title": "ExtensionValue",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Extension value."
                                        }
                                    },
                                    "required": [
                                        "key",
                                        "value"
                                    ]
                                },
                                "minItems": 1,
                                "maxItems": 16,
                                "description": "Number of Extension elements."
                            }
                        },
                        "required": [
                            "extension"
                        ]
                    }
                },
                "required": [
                    "quoteId",
                    "transactionId",
                    "payee",
                    "payer",
                    "amountType",
                    "amount",
                    "transactionType"
                ]
            }
        },
        "required": [
            "fspId",
            "quotesPostRequest"
        ]
    },
    "quotesPostResponse": {
        "title": "QuotesPostResponse",
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "quotes": {
                "title": "QuotesIDPutResponse",
                "type": "object",
                "description": "The object sent in the PUT /quotes/{ID} callback.",
                "properties": {
                    "body": {
                        "type": "object",
                        "properties": {
                            "transferAmount": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeReceiveAmount": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeFspFee": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeFspCommission": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "expiration": {
                                "type": "string",
                                "description": "Date and time until when the quotation is valid and can be honored when used in the subsequent transaction.",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "geoCode": {
                                "title": "GeoCode",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                                "properties": {
                                    "latitude": {
                                        "title": "Latitude",
                                        "type": "string",
                                        "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                        "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                        "example": "+45.4215"
                                    },
                                    "longitude": {
                                        "title": "Longitude",
                                        "type": "string",
                                        "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                        "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                        "example": "+75.6972"
                                    }
                                },
                                "required": [
                                    "latitude",
                                    "longitude"
                                ]
                            },
                            "ilpPacket": {
                                "title": "IlpPacket",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                                "minLength": 1,
                                "maxLength": 32768,
                                "description": "Information for recipient (transport layer information).",
                                "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
                            },
                            "condition": {
                                "title": "IlpCondition",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                "maxLength": 48,
                                "description": "Condition that must be attached to the transfer by the Payer."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "transferAmount",
                            "expiration",
                            "ilpPacket",
                            "condition"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                },
                "required": [
                    "body",
                    "headers"
                ]
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "WAITING_FOR_ACTION",
                    "COMPLETED",
                    "ERROR_OCCURRED"
                ]
            }
        },
        "required": [
            "quotes",
            "currentState"
        ]
    },
    "errorQuotesResponse": {
        "allOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Error code as string."
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message text."
                    }
                }
            },
            {
                "type": "object"
            }
        ],
        "additionalProperties": false
    },
    "AuthenticationType": {
        "title": "AuthenticationType",
        "type": "string",
        "enum": [
            "OTP",
            "QRCODE",
            "U2F"
        ],
        "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.",
        "example": "OTP"
    },
    "requestToPayRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "homeR2PTransactionId",
            "from",
            "to",
            "amountType",
            "currency",
            "amount",
            "transactionType"
        ],
        "properties": {
            "homeR2PTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "from": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "to": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "transactionType": {
                "title": "TransactionScenario",
                "type": "string",
                "enum": [
                    "DEPOSIT",
                    "WITHDRAWAL",
                    "TRANSFER",
                    "PAYMENT",
                    "REFUND"
                ],
                "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.",
                "example": "DEPOSIT"
            },
            "subScenario": {
                "title": "TransactionSubScenario",
                "type": "string",
                "pattern": "^[A-Z_]{1,32}$",
                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                "example": "LOCALLY_DEFINED_SUBSCENARIO"
            },
            "authenticationType": {
                "title": "AuthenticationType",
                "type": "string",
                "enum": [
                    "OTP",
                    "QRCODE",
                    "U2F"
                ],
                "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.",
                "example": "OTP"
            }
        }
    },
    "requestToPayStatus": {
        "type": "string",
        "enum": [
            "ERROR_OCCURRED",
            "WAITING_FOR_PARTY_ACCEPTANCE",
            "COMPLETED"
        ]
    },
    "getPartiesResponse": {
        "title": "getPartiesResponse",
        "type": "object",
        "additionalProperties": false,
        "description": "The object sent in the GET /parties/{Type}/{ID} callback.",
        "properties": {
            "body": {
                "title": "Party",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Party.",
                "properties": {
                    "partyIdInfo": {
                        "title": "PartyIdInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                        "properties": {
                            "partyIdType": {
                                "title": "PartyIdType",
                                "type": "string",
                                "enum": [
                                    "MSISDN",
                                    "EMAIL",
                                    "PERSONAL_ID",
                                    "BUSINESS",
                                    "DEVICE",
                                    "ACCOUNT_ID",
                                    "IBAN",
                                    "ALIAS"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                            },
                            "partyIdentifier": {
                                "title": "PartyIdentifier",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Identifier of the Party.",
                                "example": "16135551212"
                            },
                            "partySubIdOrType": {
                                "title": "PartySubIdOrType",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                            },
                            "fspId": {
                                "title": "FspId",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 32,
                                "description": "FSP identifier."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "partyIdType",
                            "partyIdentifier"
                        ]
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "name": {
                        "title": "PartyName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Name of the Party. Could be a real name or a nickname."
                    },
                    "personalInfo": {
                        "title": "PartyPersonalInfo",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type PartyPersonalInfo.",
                        "properties": {
                            "complexName": {
                                "title": "PartyComplexName",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyComplexName.",
                                "properties": {
                                    "firstName": {
                                        "title": "FirstName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "First name of the Party (Name Type).",
                                        "example": "Henrik"
                                    },
                                    "middleName": {
                                        "title": "MiddleName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Middle name of the Party (Name Type).",
                                        "example": "Johannes"
                                    },
                                    "lastName": {
                                        "title": "LastName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Last name of the Party (Name Type).",
                                        "example": "Karlsson"
                                    }
                                }
                            },
                            "dateOfBirth": {
                                "title": "DateofBirth (type Date)",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                "description": "Date of Birth of the Party.",
                                "example": "1966-06-16"
                            }
                        }
                    }
                },
                "required": [
                    "partyIdInfo"
                ]
            },
            "headers": {
                "type": "object"
            }
        },
        "required": [
            "body",
            "headers"
        ]
    },
    "TransactionRequestState": {
        "title": "TransactionRequestState",
        "type": "string",
        "enum": [
            "RECEIVED",
            "PENDING",
            "ACCEPTED",
            "REJECTED"
        ],
        "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Payer FSP has received the transaction from the Payee FSP.\n- PENDING - Payer FSP has sent the transaction request to the Payer.\n- ACCEPTED - Payer has approved the transaction.\n- REJECTED - Payer has rejected the transaction.",
        "example": "RECEIVED"
    },
    "TransactionRequestResponse": {
        "title": "TransactionRequestResponse",
        "type": "object",
        "additionalProperties": false,
        "description": "The object sent in the PUT /transactionRequests/{ID} callback.",
        "properties": {
            "body": {
                "type": "object",
                "properties": {
                    "transactionId": {
                        "title": "CorrelationId",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                        "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                        "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                    },
                    "transactionRequestState": {
                        "title": "TransactionRequestState",
                        "type": "string",
                        "enum": [
                            "RECEIVED",
                            "PENDING",
                            "ACCEPTED",
                            "REJECTED"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Payer FSP has received the transaction from the Payee FSP.\n- PENDING - Payer FSP has sent the transaction request to the Payer.\n- ACCEPTED - Payer has approved the transaction.\n- REJECTED - Payer has rejected the transaction.",
                        "example": "RECEIVED"
                    },
                    "extensionList": {
                        "title": "ExtensionList",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                        "properties": {
                            "extension": {
                                "type": "array",
                                "items": {
                                    "title": "Extension",
                                    "type": "object",
                                    "additionalProperties": false,
                                    "description": "Data model for the complex type Extension.",
                                    "properties": {
                                        "key": {
                                            "title": "ExtensionKey",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 32,
                                            "description": "Extension key."
                                        },
                                        "value": {
                                            "title": "ExtensionValue",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Extension value."
                                        }
                                    },
                                    "required": [
                                        "key",
                                        "value"
                                    ]
                                },
                                "minItems": 1,
                                "maxItems": 16,
                                "description": "Number of Extension elements."
                            }
                        },
                        "required": [
                            "extension"
                        ]
                    }
                },
                "required": [
                    "transactionRequestState"
                ]
            },
            "headers": {
                "type": "object"
            }
        },
        "required": [
            "body",
            "headers"
        ]
    },
    "requestToPayResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "transactionRequestId",
            "from",
            "to",
            "amountType",
            "currency",
            "amount",
            "transactionType",
            "currentState"
        ],
        "properties": {
            "transactionRequestId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "from": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "to": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "transactionType": {
                "title": "TransactionScenario",
                "type": "string",
                "enum": [
                    "DEPOSIT",
                    "WITHDRAWAL",
                    "TRANSFER",
                    "PAYMENT",
                    "REFUND"
                ],
                "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.",
                "example": "DEPOSIT"
            },
            "subScenario": {
                "title": "TransactionSubScenario",
                "type": "string",
                "pattern": "^[A-Z_]{1,32}$",
                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                "example": "LOCALLY_DEFINED_SUBSCENARIO"
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "WAITING_FOR_PARTY_ACCEPTANCE",
                    "COMPLETED"
                ]
            },
            "getPartiesResponse": {
                "title": "getPartiesResponse",
                "type": "object",
                "additionalProperties": false,
                "description": "The object sent in the GET /parties/{Type}/{ID} callback.",
                "properties": {
                    "body": {
                        "title": "Party",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type Party.",
                        "properties": {
                            "partyIdInfo": {
                                "title": "PartyIdInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1",
                                "properties": {
                                    "partyIdType": {
                                        "title": "PartyIdType",
                                        "type": "string",
                                        "enum": [
                                            "MSISDN",
                                            "EMAIL",
                                            "PERSONAL_ID",
                                            "BUSINESS",
                                            "DEVICE",
                                            "ACCOUNT_ID",
                                            "IBAN",
                                            "ALIAS"
                                        ],
                                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                    },
                                    "partyIdentifier": {
                                        "title": "PartyIdentifier",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Identifier of the Party.",
                                        "example": "16135551212"
                                    },
                                    "partySubIdOrType": {
                                        "title": "PartySubIdOrType",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                    },
                                    "fspId": {
                                        "title": "FspId",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 32,
                                        "description": "FSP identifier."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "partyIdType",
                                    "partyIdentifier"
                                ]
                            },
                            "merchantClassificationCode": {
                                "title": "MerchantClassificationCode",
                                "type": "string",
                                "pattern": "^[\\d]{1,4}$",
                                "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                            },
                            "name": {
                                "title": "PartyName",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Name of the Party. Could be a real name or a nickname."
                            },
                            "personalInfo": {
                                "title": "PartyPersonalInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type PartyPersonalInfo.",
                                "properties": {
                                    "complexName": {
                                        "title": "PartyComplexName",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type PartyComplexName.",
                                        "properties": {
                                            "firstName": {
                                                "title": "FirstName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "First name of the Party (Name Type).",
                                                "example": "Henrik"
                                            },
                                            "middleName": {
                                                "title": "MiddleName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "Middle name of the Party (Name Type).",
                                                "example": "Johannes"
                                            },
                                            "lastName": {
                                                "title": "LastName",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 128,
                                                "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                                "description": "Last name of the Party (Name Type).",
                                                "example": "Karlsson"
                                            }
                                        }
                                    },
                                    "dateOfBirth": {
                                        "title": "DateofBirth (type Date)",
                                        "type": "string",
                                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                        "description": "Date of Birth of the Party.",
                                        "example": "1966-06-16"
                                    }
                                }
                            }
                        },
                        "required": [
                            "partyIdInfo"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                },
                "required": [
                    "body",
                    "headers"
                ]
            },
            "transactionRequestResponse": {
                "title": "TransactionRequestResponse",
                "type": "object",
                "additionalProperties": false,
                "description": "The object sent in the PUT /transactionRequests/{ID} callback.",
                "properties": {
                    "body": {
                        "type": "object",
                        "properties": {
                            "transactionId": {
                                "title": "CorrelationId",
                                "type": "string",
                                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                            },
                            "transactionRequestState": {
                                "title": "TransactionRequestState",
                                "type": "string",
                                "enum": [
                                    "RECEIVED",
                                    "PENDING",
                                    "ACCEPTED",
                                    "REJECTED"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Payer FSP has received the transaction from the Payee FSP.\n- PENDING - Payer FSP has sent the transaction request to the Payer.\n- ACCEPTED - Payer has approved the transaction.\n- REJECTED - Payer has rejected the transaction.",
                                "example": "RECEIVED"
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "transactionRequestState"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                },
                "required": [
                    "body",
                    "headers"
                ]
            },
            "lastError": {
                "type": "object",
                "additionalProperties": false,
                "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                "properties": {
                    "httpStatusCode": {
                        "type": "integer",
                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                    },
                    "mojaloopError": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "errorInformation": {
                                "title": "ErrorInformation",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ErrorInformation.",
                                "properties": {
                                    "errorCode": {
                                        "title": "ErrorCode",
                                        "type": "string",
                                        "pattern": "^[1-9]\\d{3}$",
                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                        "example": "5100"
                                    },
                                    "errorDescription": {
                                        "title": "ErrorDescription",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Error description string."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "errorCode",
                                    "errorDescription"
                                ]
                            }
                        }
                    }
                }
            }
        }
    },
    "transferStatus": {
        "type": "string",
        "enum": [
            "ERROR_OCCURRED",
            "WAITING_FOR_PARTY_ACCEPTANCE",
            "WAITING_FOR_QUOTE_ACCEPTANCE",
            "COMPLETED"
        ]
    },
    "QuotesIDPutResponse": {
        "title": "QuotesIDPutResponse",
        "type": "object",
        "additionalProperties": false,
        "description": "The object sent in the PUT /quotes/{ID} callback.",
        "properties": {
            "transferAmount": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "payeeReceiveAmount": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "payeeFspFee": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "payeeFspCommission": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "expiration": {
                "title": "DateTime",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                "example": "2016-05-24T08:38:08.699-04:00"
            },
            "geoCode": {
                "title": "GeoCode",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                "properties": {
                    "latitude": {
                        "title": "Latitude",
                        "type": "string",
                        "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                        "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                        "example": "+45.4215"
                    },
                    "longitude": {
                        "title": "Longitude",
                        "type": "string",
                        "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                        "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                        "example": "+75.6972"
                    }
                },
                "required": [
                    "latitude",
                    "longitude"
                ]
            },
            "ilpPacket": {
                "title": "IlpPacket",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                "minLength": 1,
                "maxLength": 32768,
                "description": "Information for recipient (transport layer information).",
                "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
            },
            "condition": {
                "title": "IlpCondition",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]{43}$",
                "maxLength": 48,
                "description": "Condition that must be attached to the transfer by the Payer."
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        },
        "required": [
            "transferAmount",
            "expiration",
            "ilpPacket",
            "condition"
        ]
    },
    "TransfersIDPutResponse": {
        "title": "TransfersIDPutResponse",
        "type": "object",
        "additionalProperties": false,
        "description": "The object sent in the PUT /transfers/{ID} callback.",
        "properties": {
            "fulfilment": {
                "title": "IlpFulfilment",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]{43}$",
                "maxLength": 48,
                "description": "Fulfilment that must be attached to the transfer by the Payee.",
                "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
            },
            "completedTimestamp": {
                "title": "DateTime",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                "example": "2016-05-24T08:38:08.699-04:00"
            },
            "transferState": {
                "title": "TransferState",
                "type": "string",
                "enum": [
                    "RECEIVED",
                    "RESERVED",
                    "COMMITTED",
                    "ABORTED"
                ],
                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                "example": "RESERVED"
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        },
        "required": [
            "transferState"
        ]
    },
    "transferResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "homeTransactionId",
            "from",
            "to",
            "amountType",
            "currency",
            "amount",
            "transactionType"
        ],
        "properties": {
            "transferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "homeTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "from": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "to": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "transactionType": {
                "title": "transferTransactionType",
                "type": "string",
                "enum": [
                    "TRANSFER"
                ],
                "description": "Type of transaction."
            },
            "subScenario": {
                "title": "TransactionSubScenario",
                "type": "string",
                "pattern": "^[A-Z_]{1,32}$",
                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                "example": "LOCALLY_DEFINED_SUBSCENARIO"
            },
            "note": {
                "title": "Note",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Memo assigned to transaction.",
                "example": "Note sent to Payee."
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "WAITING_FOR_PARTY_ACCEPTANCE",
                    "WAITING_FOR_QUOTE_ACCEPTANCE",
                    "COMPLETED"
                ]
            },
            "quoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "getPartiesResponse": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "type": "object"
                    },
                    "headers": {
                        "type": "object"
                    }
                }
            },
            "quoteResponse": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "title": "QuotesIDPutResponse",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "The object sent in the PUT /quotes/{ID} callback.",
                        "properties": {
                            "transferAmount": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeReceiveAmount": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeFspFee": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeFspCommission": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "expiration": {
                                "title": "DateTime",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "geoCode": {
                                "title": "GeoCode",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                                "properties": {
                                    "latitude": {
                                        "title": "Latitude",
                                        "type": "string",
                                        "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                        "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                        "example": "+45.4215"
                                    },
                                    "longitude": {
                                        "title": "Longitude",
                                        "type": "string",
                                        "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                        "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                        "example": "+75.6972"
                                    }
                                },
                                "required": [
                                    "latitude",
                                    "longitude"
                                ]
                            },
                            "ilpPacket": {
                                "title": "IlpPacket",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                                "minLength": 1,
                                "maxLength": 32768,
                                "description": "Information for recipient (transport layer information).",
                                "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
                            },
                            "condition": {
                                "title": "IlpCondition",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                "maxLength": 48,
                                "description": "Condition that must be attached to the transfer by the Payer."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "transferAmount",
                            "expiration",
                            "ilpPacket",
                            "condition"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                }
            },
            "quoteResponseSource": {
                "type": "string",
                "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n"
            },
            "fulfil": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "title": "TransfersIDPutResponse",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "The object sent in the PUT /transfers/{ID} callback.",
                        "properties": {
                            "fulfilment": {
                                "title": "IlpFulfilment",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                "maxLength": 48,
                                "description": "Fulfilment that must be attached to the transfer by the Payee.",
                                "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
                            },
                            "completedTimestamp": {
                                "title": "DateTime",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "transferState": {
                                "title": "TransferState",
                                "type": "string",
                                "enum": [
                                    "RECEIVED",
                                    "RESERVED",
                                    "COMMITTED",
                                    "ABORTED"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                                "example": "RESERVED"
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "transferState"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                }
            },
            "lastError": {
                "type": "object",
                "additionalProperties": false,
                "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                "properties": {
                    "httpStatusCode": {
                        "type": "integer",
                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                    },
                    "mojaloopError": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "errorInformation": {
                                "title": "ErrorInformation",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ErrorInformation.",
                                "properties": {
                                    "errorCode": {
                                        "title": "ErrorCode",
                                        "type": "string",
                                        "pattern": "^[1-9]\\d{3}$",
                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                        "example": "5100"
                                    },
                                    "errorDescription": {
                                        "title": "ErrorDescription",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Error description string."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "errorCode",
                                    "errorDescription"
                                ]
                            }
                        }
                    }
                }
            },
            "skipPartyLookup": {
                "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.",
                "type": "boolean"
            }
        }
    },
    "errorTransferResponse": {
        "allOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Error code as string."
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message text."
                    }
                }
            },
            {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "transferState"
                ],
                "properties": {
                    "transferState": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "homeTransactionId",
                            "from",
                            "to",
                            "amountType",
                            "currency",
                            "amount",
                            "transactionType"
                        ],
                        "properties": {
                            "transferId": {
                                "title": "CorrelationId",
                                "type": "string",
                                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                            },
                            "homeTransactionId": {
                                "type": "string",
                                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
                            },
                            "from": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                    "idType",
                                    "idValue"
                                ],
                                "properties": {
                                    "type": {
                                        "title": "TransactionInitiatorType",
                                        "type": "string",
                                        "enum": [
                                            "CONSUMER",
                                            "AGENT",
                                            "BUSINESS",
                                            "DEVICE"
                                        ],
                                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                                        "example": "CONSUMER"
                                    },
                                    "idType": {
                                        "title": "PartyIdType",
                                        "type": "string",
                                        "enum": [
                                            "MSISDN",
                                            "EMAIL",
                                            "PERSONAL_ID",
                                            "BUSINESS",
                                            "DEVICE",
                                            "ACCOUNT_ID",
                                            "IBAN",
                                            "ALIAS"
                                        ],
                                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                    },
                                    "idValue": {
                                        "title": "PartyIdentifier",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Identifier of the Party.",
                                        "example": "16135551212"
                                    },
                                    "idSubValue": {
                                        "title": "PartySubIdOrType",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                    },
                                    "displayName": {
                                        "title": "Name",
                                        "type": "string",
                                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                                    },
                                    "firstName": {
                                        "title": "FirstName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "First name of the Party (Name Type).",
                                        "example": "Henrik"
                                    },
                                    "middleName": {
                                        "title": "MiddleName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Middle name of the Party (Name Type).",
                                        "example": "Johannes"
                                    },
                                    "lastName": {
                                        "title": "LastName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Last name of the Party (Name Type).",
                                        "example": "Karlsson"
                                    },
                                    "dateOfBirth": {
                                        "title": "DateofBirth (type Date)",
                                        "type": "string",
                                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                        "description": "Date of Birth of the Party.",
                                        "example": "1966-06-16"
                                    },
                                    "merchantClassificationCode": {
                                        "title": "MerchantClassificationCode",
                                        "type": "string",
                                        "pattern": "^[\\d]{1,4}$",
                                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                                    },
                                    "fspId": {
                                        "title": "FspId",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 32,
                                        "description": "FSP identifier."
                                    },
                                    "extensionList": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 0,
                                        "maxItems": 16
                                    }
                                }
                            },
                            "to": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                    "idType",
                                    "idValue"
                                ],
                                "properties": {
                                    "type": {
                                        "title": "TransactionInitiatorType",
                                        "type": "string",
                                        "enum": [
                                            "CONSUMER",
                                            "AGENT",
                                            "BUSINESS",
                                            "DEVICE"
                                        ],
                                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                                        "example": "CONSUMER"
                                    },
                                    "idType": {
                                        "title": "PartyIdType",
                                        "type": "string",
                                        "enum": [
                                            "MSISDN",
                                            "EMAIL",
                                            "PERSONAL_ID",
                                            "BUSINESS",
                                            "DEVICE",
                                            "ACCOUNT_ID",
                                            "IBAN",
                                            "ALIAS"
                                        ],
                                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                                    },
                                    "idValue": {
                                        "title": "PartyIdentifier",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Identifier of the Party.",
                                        "example": "16135551212"
                                    },
                                    "idSubValue": {
                                        "title": "PartySubIdOrType",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                                    },
                                    "displayName": {
                                        "title": "Name",
                                        "type": "string",
                                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                                    },
                                    "firstName": {
                                        "title": "FirstName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "First name of the Party (Name Type).",
                                        "example": "Henrik"
                                    },
                                    "middleName": {
                                        "title": "MiddleName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Middle name of the Party (Name Type).",
                                        "example": "Johannes"
                                    },
                                    "lastName": {
                                        "title": "LastName",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                                        "description": "Last name of the Party (Name Type).",
                                        "example": "Karlsson"
                                    },
                                    "dateOfBirth": {
                                        "title": "DateofBirth (type Date)",
                                        "type": "string",
                                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                                        "description": "Date of Birth of the Party.",
                                        "example": "1966-06-16"
                                    },
                                    "merchantClassificationCode": {
                                        "title": "MerchantClassificationCode",
                                        "type": "string",
                                        "pattern": "^[\\d]{1,4}$",
                                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                                    },
                                    "fspId": {
                                        "title": "FspId",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 32,
                                        "description": "FSP identifier."
                                    },
                                    "extensionList": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 0,
                                        "maxItems": 16
                                    }
                                }
                            },
                            "amountType": {
                                "title": "AmountType",
                                "type": "string",
                                "enum": [
                                    "SEND",
                                    "RECEIVE"
                                ],
                                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                                "example": "RECEIVE"
                            },
                            "currency": {
                                "title": "Currency",
                                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                "type": "string",
                                "minLength": 3,
                                "maxLength": 3,
                                "enum": [
                                    "AED",
                                    "AFN",
                                    "ALL",
                                    "AMD",
                                    "ANG",
                                    "AOA",
                                    "ARS",
                                    "AUD",
                                    "AWG",
                                    "AZN",
                                    "BAM",
                                    "BBD",
                                    "BDT",
                                    "BGN",
                                    "BHD",
                                    "BIF",
                                    "BMD",
                                    "BND",
                                    "BOB",
                                    "BRL",
                                    "BSD",
                                    "BTN",
                                    "BWP",
                                    "BYN",
                                    "BZD",
                                    "CAD",
                                    "CDF",
                                    "CHF",
                                    "CLP",
                                    "CNY",
                                    "COP",
                                    "CRC",
                                    "CUC",
                                    "CUP",
                                    "CVE",
                                    "CZK",
                                    "DJF",
                                    "DKK",
                                    "DOP",
                                    "DZD",
                                    "EGP",
                                    "ERN",
                                    "ETB",
                                    "EUR",
                                    "FJD",
                                    "FKP",
                                    "GBP",
                                    "GEL",
                                    "GGP",
                                    "GHS",
                                    "GIP",
                                    "GMD",
                                    "GNF",
                                    "GTQ",
                                    "GYD",
                                    "HKD",
                                    "HNL",
                                    "HRK",
                                    "HTG",
                                    "HUF",
                                    "IDR",
                                    "ILS",
                                    "IMP",
                                    "INR",
                                    "IQD",
                                    "IRR",
                                    "ISK",
                                    "JEP",
                                    "JMD",
                                    "JOD",
                                    "JPY",
                                    "KES",
                                    "KGS",
                                    "KHR",
                                    "KMF",
                                    "KPW",
                                    "KRW",
                                    "KWD",
                                    "KYD",
                                    "KZT",
                                    "LAK",
                                    "LBP",
                                    "LKR",
                                    "LRD",
                                    "LSL",
                                    "LYD",
                                    "MAD",
                                    "MDL",
                                    "MGA",
                                    "MKD",
                                    "MMK",
                                    "MNT",
                                    "MOP",
                                    "MRO",
                                    "MUR",
                                    "MVR",
                                    "MWK",
                                    "MXN",
                                    "MYR",
                                    "MZN",
                                    "NAD",
                                    "NGN",
                                    "NIO",
                                    "NOK",
                                    "NPR",
                                    "NZD",
                                    "OMR",
                                    "PAB",
                                    "PEN",
                                    "PGK",
                                    "PHP",
                                    "PKR",
                                    "PLN",
                                    "PYG",
                                    "QAR",
                                    "RON",
                                    "RSD",
                                    "RUB",
                                    "RWF",
                                    "SAR",
                                    "SBD",
                                    "SCR",
                                    "SDG",
                                    "SEK",
                                    "SGD",
                                    "SHP",
                                    "SLL",
                                    "SOS",
                                    "SPL",
                                    "SRD",
                                    "STD",
                                    "SVC",
                                    "SYP",
                                    "SZL",
                                    "THB",
                                    "TJS",
                                    "TMT",
                                    "TND",
                                    "TOP",
                                    "TRY",
                                    "TTD",
                                    "TVD",
                                    "TWD",
                                    "TZS",
                                    "UAH",
                                    "UGX",
                                    "USD",
                                    "UYU",
                                    "UZS",
                                    "VEF",
                                    "VND",
                                    "VUV",
                                    "WST",
                                    "XAF",
                                    "XCD",
                                    "XDR",
                                    "XOF",
                                    "XPF",
                                    "XTS",
                                    "XXX",
                                    "YER",
                                    "ZAR",
                                    "ZMW",
                                    "ZWD"
                                ]
                            },
                            "amount": {
                                "title": "Amount",
                                "type": "string",
                                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                "example": "123.45"
                            },
                            "transactionType": {
                                "title": "transferTransactionType",
                                "type": "string",
                                "enum": [
                                    "TRANSFER"
                                ],
                                "description": "Type of transaction."
                            },
                            "subScenario": {
                                "title": "TransactionSubScenario",
                                "type": "string",
                                "pattern": "^[A-Z_]{1,32}$",
                                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                                "example": "LOCALLY_DEFINED_SUBSCENARIO"
                            },
                            "note": {
                                "title": "Note",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "description": "Memo assigned to transaction.",
                                "example": "Note sent to Payee."
                            },
                            "currentState": {
                                "type": "string",
                                "enum": [
                                    "ERROR_OCCURRED",
                                    "WAITING_FOR_PARTY_ACCEPTANCE",
                                    "WAITING_FOR_QUOTE_ACCEPTANCE",
                                    "COMPLETED"
                                ]
                            },
                            "quoteId": {
                                "title": "CorrelationId",
                                "type": "string",
                                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                            },
                            "getPartiesResponse": {
                                "type": "object",
                                "required": [
                                    "body"
                                ],
                                "properties": {
                                    "body": {
                                        "type": "object"
                                    },
                                    "headers": {
                                        "type": "object"
                                    }
                                }
                            },
                            "quoteResponse": {
                                "type": "object",
                                "required": [
                                    "body"
                                ],
                                "properties": {
                                    "body": {
                                        "title": "QuotesIDPutResponse",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "The object sent in the PUT /quotes/{ID} callback.",
                                        "properties": {
                                            "transferAmount": {
                                                "title": "Money",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type Money.",
                                                "properties": {
                                                    "currency": {
                                                        "title": "Currency",
                                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                        "type": "string",
                                                        "minLength": 3,
                                                        "maxLength": 3,
                                                        "enum": [
                                                            "AED",
                                                            "AFN",
                                                            "ALL",
                                                            "AMD",
                                                            "ANG",
                                                            "AOA",
                                                            "ARS",
                                                            "AUD",
                                                            "AWG",
                                                            "AZN",
                                                            "BAM",
                                                            "BBD",
                                                            "BDT",
                                                            "BGN",
                                                            "BHD",
                                                            "BIF",
                                                            "BMD",
                                                            "BND",
                                                            "BOB",
                                                            "BRL",
                                                            "BSD",
                                                            "BTN",
                                                            "BWP",
                                                            "BYN",
                                                            "BZD",
                                                            "CAD",
                                                            "CDF",
                                                            "CHF",
                                                            "CLP",
                                                            "CNY",
                                                            "COP",
                                                            "CRC",
                                                            "CUC",
                                                            "CUP",
                                                            "CVE",
                                                            "CZK",
                                                            "DJF",
                                                            "DKK",
                                                            "DOP",
                                                            "DZD",
                                                            "EGP",
                                                            "ERN",
                                                            "ETB",
                                                            "EUR",
                                                            "FJD",
                                                            "FKP",
                                                            "GBP",
                                                            "GEL",
                                                            "GGP",
                                                            "GHS",
                                                            "GIP",
                                                            "GMD",
                                                            "GNF",
                                                            "GTQ",
                                                            "GYD",
                                                            "HKD",
                                                            "HNL",
                                                            "HRK",
                                                            "HTG",
                                                            "HUF",
                                                            "IDR",
                                                            "ILS",
                                                            "IMP",
                                                            "INR",
                                                            "IQD",
                                                            "IRR",
                                                            "ISK",
                                                            "JEP",
                                                            "JMD",
                                                            "JOD",
                                                            "JPY",
                                                            "KES",
                                                            "KGS",
                                                            "KHR",
                                                            "KMF",
                                                            "KPW",
                                                            "KRW",
                                                            "KWD",
                                                            "KYD",
                                                            "KZT",
                                                            "LAK",
                                                            "LBP",
                                                            "LKR",
                                                            "LRD",
                                                            "LSL",
                                                            "LYD",
                                                            "MAD",
                                                            "MDL",
                                                            "MGA",
                                                            "MKD",
                                                            "MMK",
                                                            "MNT",
                                                            "MOP",
                                                            "MRO",
                                                            "MUR",
                                                            "MVR",
                                                            "MWK",
                                                            "MXN",
                                                            "MYR",
                                                            "MZN",
                                                            "NAD",
                                                            "NGN",
                                                            "NIO",
                                                            "NOK",
                                                            "NPR",
                                                            "NZD",
                                                            "OMR",
                                                            "PAB",
                                                            "PEN",
                                                            "PGK",
                                                            "PHP",
                                                            "PKR",
                                                            "PLN",
                                                            "PYG",
                                                            "QAR",
                                                            "RON",
                                                            "RSD",
                                                            "RUB",
                                                            "RWF",
                                                            "SAR",
                                                            "SBD",
                                                            "SCR",
                                                            "SDG",
                                                            "SEK",
                                                            "SGD",
                                                            "SHP",
                                                            "SLL",
                                                            "SOS",
                                                            "SPL",
                                                            "SRD",
                                                            "STD",
                                                            "SVC",
                                                            "SYP",
                                                            "SZL",
                                                            "THB",
                                                            "TJS",
                                                            "TMT",
                                                            "TND",
                                                            "TOP",
                                                            "TRY",
                                                            "TTD",
                                                            "TVD",
                                                            "TWD",
                                                            "TZS",
                                                            "UAH",
                                                            "UGX",
                                                            "USD",
                                                            "UYU",
                                                            "UZS",
                                                            "VEF",
                                                            "VND",
                                                            "VUV",
                                                            "WST",
                                                            "XAF",
                                                            "XCD",
                                                            "XDR",
                                                            "XOF",
                                                            "XPF",
                                                            "XTS",
                                                            "XXX",
                                                            "YER",
                                                            "ZAR",
                                                            "ZMW",
                                                            "ZWD"
                                                        ]
                                                    },
                                                    "amount": {
                                                        "title": "Amount",
                                                        "type": "string",
                                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                        "example": "123.45"
                                                    }
                                                },
                                                "required": [
                                                    "currency",
                                                    "amount"
                                                ]
                                            },
                                            "payeeReceiveAmount": {
                                                "title": "Money",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type Money.",
                                                "properties": {
                                                    "currency": {
                                                        "title": "Currency",
                                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                        "type": "string",
                                                        "minLength": 3,
                                                        "maxLength": 3,
                                                        "enum": [
                                                            "AED",
                                                            "AFN",
                                                            "ALL",
                                                            "AMD",
                                                            "ANG",
                                                            "AOA",
                                                            "ARS",
                                                            "AUD",
                                                            "AWG",
                                                            "AZN",
                                                            "BAM",
                                                            "BBD",
                                                            "BDT",
                                                            "BGN",
                                                            "BHD",
                                                            "BIF",
                                                            "BMD",
                                                            "BND",
                                                            "BOB",
                                                            "BRL",
                                                            "BSD",
                                                            "BTN",
                                                            "BWP",
                                                            "BYN",
                                                            "BZD",
                                                            "CAD",
                                                            "CDF",
                                                            "CHF",
                                                            "CLP",
                                                            "CNY",
                                                            "COP",
                                                            "CRC",
                                                            "CUC",
                                                            "CUP",
                                                            "CVE",
                                                            "CZK",
                                                            "DJF",
                                                            "DKK",
                                                            "DOP",
                                                            "DZD",
                                                            "EGP",
                                                            "ERN",
                                                            "ETB",
                                                            "EUR",
                                                            "FJD",
                                                            "FKP",
                                                            "GBP",
                                                            "GEL",
                                                            "GGP",
                                                            "GHS",
                                                            "GIP",
                                                            "GMD",
                                                            "GNF",
                                                            "GTQ",
                                                            "GYD",
                                                            "HKD",
                                                            "HNL",
                                                            "HRK",
                                                            "HTG",
                                                            "HUF",
                                                            "IDR",
                                                            "ILS",
                                                            "IMP",
                                                            "INR",
                                                            "IQD",
                                                            "IRR",
                                                            "ISK",
                                                            "JEP",
                                                            "JMD",
                                                            "JOD",
                                                            "JPY",
                                                            "KES",
                                                            "KGS",
                                                            "KHR",
                                                            "KMF",
                                                            "KPW",
                                                            "KRW",
                                                            "KWD",
                                                            "KYD",
                                                            "KZT",
                                                            "LAK",
                                                            "LBP",
                                                            "LKR",
                                                            "LRD",
                                                            "LSL",
                                                            "LYD",
                                                            "MAD",
                                                            "MDL",
                                                            "MGA",
                                                            "MKD",
                                                            "MMK",
                                                            "MNT",
                                                            "MOP",
                                                            "MRO",
                                                            "MUR",
                                                            "MVR",
                                                            "MWK",
                                                            "MXN",
                                                            "MYR",
                                                            "MZN",
                                                            "NAD",
                                                            "NGN",
                                                            "NIO",
                                                            "NOK",
                                                            "NPR",
                                                            "NZD",
                                                            "OMR",
                                                            "PAB",
                                                            "PEN",
                                                            "PGK",
                                                            "PHP",
                                                            "PKR",
                                                            "PLN",
                                                            "PYG",
                                                            "QAR",
                                                            "RON",
                                                            "RSD",
                                                            "RUB",
                                                            "RWF",
                                                            "SAR",
                                                            "SBD",
                                                            "SCR",
                                                            "SDG",
                                                            "SEK",
                                                            "SGD",
                                                            "SHP",
                                                            "SLL",
                                                            "SOS",
                                                            "SPL",
                                                            "SRD",
                                                            "STD",
                                                            "SVC",
                                                            "SYP",
                                                            "SZL",
                                                            "THB",
                                                            "TJS",
                                                            "TMT",
                                                            "TND",
                                                            "TOP",
                                                            "TRY",
                                                            "TTD",
                                                            "TVD",
                                                            "TWD",
                                                            "TZS",
                                                            "UAH",
                                                            "UGX",
                                                            "USD",
                                                            "UYU",
                                                            "UZS",
                                                            "VEF",
                                                            "VND",
                                                            "VUV",
                                                            "WST",
                                                            "XAF",
                                                            "XCD",
                                                            "XDR",
                                                            "XOF",
                                                            "XPF",
                                                            "XTS",
                                                            "XXX",
                                                            "YER",
                                                            "ZAR",
                                                            "ZMW",
                                                            "ZWD"
                                                        ]
                                                    },
                                                    "amount": {
                                                        "title": "Amount",
                                                        "type": "string",
                                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                        "example": "123.45"
                                                    }
                                                },
                                                "required": [
                                                    "currency",
                                                    "amount"
                                                ]
                                            },
                                            "payeeFspFee": {
                                                "title": "Money",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type Money.",
                                                "properties": {
                                                    "currency": {
                                                        "title": "Currency",
                                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                        "type": "string",
                                                        "minLength": 3,
                                                        "maxLength": 3,
                                                        "enum": [
                                                            "AED",
                                                            "AFN",
                                                            "ALL",
                                                            "AMD",
                                                            "ANG",
                                                            "AOA",
                                                            "ARS",
                                                            "AUD",
                                                            "AWG",
                                                            "AZN",
                                                            "BAM",
                                                            "BBD",
                                                            "BDT",
                                                            "BGN",
                                                            "BHD",
                                                            "BIF",
                                                            "BMD",
                                                            "BND",
                                                            "BOB",
                                                            "BRL",
                                                            "BSD",
                                                            "BTN",
                                                            "BWP",
                                                            "BYN",
                                                            "BZD",
                                                            "CAD",
                                                            "CDF",
                                                            "CHF",
                                                            "CLP",
                                                            "CNY",
                                                            "COP",
                                                            "CRC",
                                                            "CUC",
                                                            "CUP",
                                                            "CVE",
                                                            "CZK",
                                                            "DJF",
                                                            "DKK",
                                                            "DOP",
                                                            "DZD",
                                                            "EGP",
                                                            "ERN",
                                                            "ETB",
                                                            "EUR",
                                                            "FJD",
                                                            "FKP",
                                                            "GBP",
                                                            "GEL",
                                                            "GGP",
                                                            "GHS",
                                                            "GIP",
                                                            "GMD",
                                                            "GNF",
                                                            "GTQ",
                                                            "GYD",
                                                            "HKD",
                                                            "HNL",
                                                            "HRK",
                                                            "HTG",
                                                            "HUF",
                                                            "IDR",
                                                            "ILS",
                                                            "IMP",
                                                            "INR",
                                                            "IQD",
                                                            "IRR",
                                                            "ISK",
                                                            "JEP",
                                                            "JMD",
                                                            "JOD",
                                                            "JPY",
                                                            "KES",
                                                            "KGS",
                                                            "KHR",
                                                            "KMF",
                                                            "KPW",
                                                            "KRW",
                                                            "KWD",
                                                            "KYD",
                                                            "KZT",
                                                            "LAK",
                                                            "LBP",
                                                            "LKR",
                                                            "LRD",
                                                            "LSL",
                                                            "LYD",
                                                            "MAD",
                                                            "MDL",
                                                            "MGA",
                                                            "MKD",
                                                            "MMK",
                                                            "MNT",
                                                            "MOP",
                                                            "MRO",
                                                            "MUR",
                                                            "MVR",
                                                            "MWK",
                                                            "MXN",
                                                            "MYR",
                                                            "MZN",
                                                            "NAD",
                                                            "NGN",
                                                            "NIO",
                                                            "NOK",
                                                            "NPR",
                                                            "NZD",
                                                            "OMR",
                                                            "PAB",
                                                            "PEN",
                                                            "PGK",
                                                            "PHP",
                                                            "PKR",
                                                            "PLN",
                                                            "PYG",
                                                            "QAR",
                                                            "RON",
                                                            "RSD",
                                                            "RUB",
                                                            "RWF",
                                                            "SAR",
                                                            "SBD",
                                                            "SCR",
                                                            "SDG",
                                                            "SEK",
                                                            "SGD",
                                                            "SHP",
                                                            "SLL",
                                                            "SOS",
                                                            "SPL",
                                                            "SRD",
                                                            "STD",
                                                            "SVC",
                                                            "SYP",
                                                            "SZL",
                                                            "THB",
                                                            "TJS",
                                                            "TMT",
                                                            "TND",
                                                            "TOP",
                                                            "TRY",
                                                            "TTD",
                                                            "TVD",
                                                            "TWD",
                                                            "TZS",
                                                            "UAH",
                                                            "UGX",
                                                            "USD",
                                                            "UYU",
                                                            "UZS",
                                                            "VEF",
                                                            "VND",
                                                            "VUV",
                                                            "WST",
                                                            "XAF",
                                                            "XCD",
                                                            "XDR",
                                                            "XOF",
                                                            "XPF",
                                                            "XTS",
                                                            "XXX",
                                                            "YER",
                                                            "ZAR",
                                                            "ZMW",
                                                            "ZWD"
                                                        ]
                                                    },
                                                    "amount": {
                                                        "title": "Amount",
                                                        "type": "string",
                                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                        "example": "123.45"
                                                    }
                                                },
                                                "required": [
                                                    "currency",
                                                    "amount"
                                                ]
                                            },
                                            "payeeFspCommission": {
                                                "title": "Money",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type Money.",
                                                "properties": {
                                                    "currency": {
                                                        "title": "Currency",
                                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                                        "type": "string",
                                                        "minLength": 3,
                                                        "maxLength": 3,
                                                        "enum": [
                                                            "AED",
                                                            "AFN",
                                                            "ALL",
                                                            "AMD",
                                                            "ANG",
                                                            "AOA",
                                                            "ARS",
                                                            "AUD",
                                                            "AWG",
                                                            "AZN",
                                                            "BAM",
                                                            "BBD",
                                                            "BDT",
                                                            "BGN",
                                                            "BHD",
                                                            "BIF",
                                                            "BMD",
                                                            "BND",
                                                            "BOB",
                                                            "BRL",
                                                            "BSD",
                                                            "BTN",
                                                            "BWP",
                                                            "BYN",
                                                            "BZD",
                                                            "CAD",
                                                            "CDF",
                                                            "CHF",
                                                            "CLP",
                                                            "CNY",
                                                            "COP",
                                                            "CRC",
                                                            "CUC",
                                                            "CUP",
                                                            "CVE",
                                                            "CZK",
                                                            "DJF",
                                                            "DKK",
                                                            "DOP",
                                                            "DZD",
                                                            "EGP",
                                                            "ERN",
                                                            "ETB",
                                                            "EUR",
                                                            "FJD",
                                                            "FKP",
                                                            "GBP",
                                                            "GEL",
                                                            "GGP",
                                                            "GHS",
                                                            "GIP",
                                                            "GMD",
                                                            "GNF",
                                                            "GTQ",
                                                            "GYD",
                                                            "HKD",
                                                            "HNL",
                                                            "HRK",
                                                            "HTG",
                                                            "HUF",
                                                            "IDR",
                                                            "ILS",
                                                            "IMP",
                                                            "INR",
                                                            "IQD",
                                                            "IRR",
                                                            "ISK",
                                                            "JEP",
                                                            "JMD",
                                                            "JOD",
                                                            "JPY",
                                                            "KES",
                                                            "KGS",
                                                            "KHR",
                                                            "KMF",
                                                            "KPW",
                                                            "KRW",
                                                            "KWD",
                                                            "KYD",
                                                            "KZT",
                                                            "LAK",
                                                            "LBP",
                                                            "LKR",
                                                            "LRD",
                                                            "LSL",
                                                            "LYD",
                                                            "MAD",
                                                            "MDL",
                                                            "MGA",
                                                            "MKD",
                                                            "MMK",
                                                            "MNT",
                                                            "MOP",
                                                            "MRO",
                                                            "MUR",
                                                            "MVR",
                                                            "MWK",
                                                            "MXN",
                                                            "MYR",
                                                            "MZN",
                                                            "NAD",
                                                            "NGN",
                                                            "NIO",
                                                            "NOK",
                                                            "NPR",
                                                            "NZD",
                                                            "OMR",
                                                            "PAB",
                                                            "PEN",
                                                            "PGK",
                                                            "PHP",
                                                            "PKR",
                                                            "PLN",
                                                            "PYG",
                                                            "QAR",
                                                            "RON",
                                                            "RSD",
                                                            "RUB",
                                                            "RWF",
                                                            "SAR",
                                                            "SBD",
                                                            "SCR",
                                                            "SDG",
                                                            "SEK",
                                                            "SGD",
                                                            "SHP",
                                                            "SLL",
                                                            "SOS",
                                                            "SPL",
                                                            "SRD",
                                                            "STD",
                                                            "SVC",
                                                            "SYP",
                                                            "SZL",
                                                            "THB",
                                                            "TJS",
                                                            "TMT",
                                                            "TND",
                                                            "TOP",
                                                            "TRY",
                                                            "TTD",
                                                            "TVD",
                                                            "TWD",
                                                            "TZS",
                                                            "UAH",
                                                            "UGX",
                                                            "USD",
                                                            "UYU",
                                                            "UZS",
                                                            "VEF",
                                                            "VND",
                                                            "VUV",
                                                            "WST",
                                                            "XAF",
                                                            "XCD",
                                                            "XDR",
                                                            "XOF",
                                                            "XPF",
                                                            "XTS",
                                                            "XXX",
                                                            "YER",
                                                            "ZAR",
                                                            "ZMW",
                                                            "ZWD"
                                                        ]
                                                    },
                                                    "amount": {
                                                        "title": "Amount",
                                                        "type": "string",
                                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                                        "example": "123.45"
                                                    }
                                                },
                                                "required": [
                                                    "currency",
                                                    "amount"
                                                ]
                                            },
                                            "expiration": {
                                                "title": "DateTime",
                                                "type": "string",
                                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                                "example": "2016-05-24T08:38:08.699-04:00"
                                            },
                                            "geoCode": {
                                                "title": "GeoCode",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                                                "properties": {
                                                    "latitude": {
                                                        "title": "Latitude",
                                                        "type": "string",
                                                        "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                                        "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                                        "example": "+45.4215"
                                                    },
                                                    "longitude": {
                                                        "title": "Longitude",
                                                        "type": "string",
                                                        "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                                        "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                                        "example": "+75.6972"
                                                    }
                                                },
                                                "required": [
                                                    "latitude",
                                                    "longitude"
                                                ]
                                            },
                                            "ilpPacket": {
                                                "title": "IlpPacket",
                                                "type": "string",
                                                "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                                                "minLength": 1,
                                                "maxLength": 32768,
                                                "description": "Information for recipient (transport layer information).",
                                                "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
                                            },
                                            "condition": {
                                                "title": "IlpCondition",
                                                "type": "string",
                                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                                "maxLength": 48,
                                                "description": "Condition that must be attached to the transfer by the Payer."
                                            },
                                            "extensionList": {
                                                "title": "ExtensionList",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                "properties": {
                                                    "extension": {
                                                        "type": "array",
                                                        "items": {
                                                            "title": "Extension",
                                                            "type": "object",
                                                            "additionalProperties": false,
                                                            "description": "Data model for the complex type Extension.",
                                                            "properties": {
                                                                "key": {
                                                                    "title": "ExtensionKey",
                                                                    "type": "string",
                                                                    "minLength": 1,
                                                                    "maxLength": 32,
                                                                    "description": "Extension key."
                                                                },
                                                                "value": {
                                                                    "title": "ExtensionValue",
                                                                    "type": "string",
                                                                    "minLength": 1,
                                                                    "maxLength": 128,
                                                                    "description": "Extension value."
                                                                }
                                                            },
                                                            "required": [
                                                                "key",
                                                                "value"
                                                            ]
                                                        },
                                                        "minItems": 1,
                                                        "maxItems": 16,
                                                        "description": "Number of Extension elements."
                                                    }
                                                },
                                                "required": [
                                                    "extension"
                                                ]
                                            }
                                        },
                                        "required": [
                                            "transferAmount",
                                            "expiration",
                                            "ilpPacket",
                                            "condition"
                                        ]
                                    },
                                    "headers": {
                                        "type": "object"
                                    }
                                }
                            },
                            "quoteResponseSource": {
                                "type": "string",
                                "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n"
                            },
                            "fulfil": {
                                "type": "object",
                                "required": [
                                    "body"
                                ],
                                "properties": {
                                    "body": {
                                        "title": "TransfersIDPutResponse",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "The object sent in the PUT /transfers/{ID} callback.",
                                        "properties": {
                                            "fulfilment": {
                                                "title": "IlpFulfilment",
                                                "type": "string",
                                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                                "maxLength": 48,
                                                "description": "Fulfilment that must be attached to the transfer by the Payee.",
                                                "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
                                            },
                                            "completedTimestamp": {
                                                "title": "DateTime",
                                                "type": "string",
                                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                                "example": "2016-05-24T08:38:08.699-04:00"
                                            },
                                            "transferState": {
                                                "title": "TransferState",
                                                "type": "string",
                                                "enum": [
                                                    "RECEIVED",
                                                    "RESERVED",
                                                    "COMMITTED",
                                                    "ABORTED"
                                                ],
                                                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                                                "example": "RESERVED"
                                            },
                                            "extensionList": {
                                                "title": "ExtensionList",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                "properties": {
                                                    "extension": {
                                                        "type": "array",
                                                        "items": {
                                                            "title": "Extension",
                                                            "type": "object",
                                                            "additionalProperties": false,
                                                            "description": "Data model for the complex type Extension.",
                                                            "properties": {
                                                                "key": {
                                                                    "title": "ExtensionKey",
                                                                    "type": "string",
                                                                    "minLength": 1,
                                                                    "maxLength": 32,
                                                                    "description": "Extension key."
                                                                },
                                                                "value": {
                                                                    "title": "ExtensionValue",
                                                                    "type": "string",
                                                                    "minLength": 1,
                                                                    "maxLength": 128,
                                                                    "description": "Extension value."
                                                                }
                                                            },
                                                            "required": [
                                                                "key",
                                                                "value"
                                                            ]
                                                        },
                                                        "minItems": 1,
                                                        "maxItems": 16,
                                                        "description": "Number of Extension elements."
                                                    }
                                                },
                                                "required": [
                                                    "extension"
                                                ]
                                            }
                                        },
                                        "required": [
                                            "transferState"
                                        ]
                                    },
                                    "headers": {
                                        "type": "object"
                                    }
                                }
                            },
                            "lastError": {
                                "type": "object",
                                "additionalProperties": false,
                                "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                                "properties": {
                                    "httpStatusCode": {
                                        "type": "integer",
                                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                                    },
                                    "mojaloopError": {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "properties": {
                                            "errorInformation": {
                                                "title": "ErrorInformation",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "Data model for the complex type ErrorInformation.",
                                                "properties": {
                                                    "errorCode": {
                                                        "title": "ErrorCode",
                                                        "type": "string",
                                                        "pattern": "^[1-9]\\d{3}$",
                                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                                        "example": "5100"
                                                    },
                                                    "errorDescription": {
                                                        "title": "ErrorDescription",
                                                        "type": "string",
                                                        "minLength": 1,
                                                        "maxLength": 128,
                                                        "description": "Error description string."
                                                    },
                                                    "extensionList": {
                                                        "title": "ExtensionList",
                                                        "type": "object",
                                                        "additionalProperties": false,
                                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                                        "properties": {
                                                            "extension": {
                                                                "type": "array",
                                                                "items": {
                                                                    "title": "Extension",
                                                                    "type": "object",
                                                                    "additionalProperties": false,
                                                                    "description": "Data model for the complex type Extension.",
                                                                    "properties": {
                                                                        "key": {
                                                                            "title": "ExtensionKey",
                                                                            "type": "string",
                                                                            "minLength": 1,
                                                                            "maxLength": 32,
                                                                            "description": "Extension key."
                                                                        },
                                                                        "value": {
                                                                            "title": "ExtensionValue",
                                                                            "type": "string",
                                                                            "minLength": 1,
                                                                            "maxLength": 128,
                                                                            "description": "Extension value."
                                                                        }
                                                                    },
                                                                    "required": [
                                                                        "key",
                                                                        "value"
                                                                    ]
                                                                },
                                                                "minItems": 1,
                                                                "maxItems": 16,
                                                                "description": "Number of Extension elements."
                                                            }
                                                        },
                                                        "required": [
                                                            "extension"
                                                        ]
                                                    }
                                                },
                                                "required": [
                                                    "errorCode",
                                                    "errorDescription"
                                                ]
                                            }
                                        }
                                    }
                                }
                            },
                            "skipPartyLookup": {
                                "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.",
                                "type": "boolean"
                            }
                        }
                    }
                }
            }
        ]
    },
    "requestToPayTransferRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "homeR2PTransactionId",
            "transactionRequestId",
            "from",
            "to",
            "amountType",
            "currency",
            "amount",
            "scenario",
            "initiator",
            "initiatorType"
        ],
        "properties": {
            "homeR2PTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "transactionRequestId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "from": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "to": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "scenario": {
                "title": "TransactionScenario",
                "type": "string",
                "enum": [
                    "DEPOSIT",
                    "WITHDRAWAL",
                    "TRANSFER",
                    "PAYMENT",
                    "REFUND"
                ],
                "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.",
                "example": "DEPOSIT"
            },
            "subScenario": {
                "title": "TransactionSubScenario",
                "type": "string",
                "pattern": "^[A-Z_]{1,32}$",
                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                "example": "LOCALLY_DEFINED_SUBSCENARIO"
            },
            "initiator": {
                "title": "TransactionInitiator",
                "type": "string",
                "enum": [
                    "PAYER",
                    "PAYEE"
                ],
                "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.",
                "example": "PAYEE"
            },
            "initiatorType": {
                "title": "TransactionInitiatorType",
                "type": "string",
                "enum": [
                    "CONSUMER",
                    "AGENT",
                    "BUSINESS",
                    "DEVICE"
                ],
                "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                "example": "CONSUMER"
            },
            "note": {
                "title": "Note",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Memo assigned to transaction.",
                "example": "Note sent to Payee."
            },
            "authenticationType": {
                "title": "AuthenticationType",
                "type": "string",
                "enum": [
                    "OTP",
                    "QRCODE",
                    "U2F"
                ],
                "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.",
                "example": "OTP"
            }
        }
    },
    "AuthenticationValue": {
        "title": "AuthenticationValue",
        "anyOf": [
            {
                "title": "OtpValue",
                "type": "string",
                "pattern": "^\\d{3,10}$",
                "description": "The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed."
            },
            {
                "title": "QRCODE",
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "description": "QR code used as a One Time Password."
            },
            {
                "title": "U2FPinValue",
                "type": "object",
                "additionalProperties": false,
                "description": "U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.\n",
                "properties": {
                    "pinValue": {
                        "type": "string",
                        "pattern": "^\\S{1,64}$",
                        "minLength": 1,
                        "maxLength": 64,
                        "description": "U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.\n"
                    },
                    "counter": {
                        "title": "Integer",
                        "type": "string",
                        "pattern": "^[1-9]\\d*$",
                        "description": "Sequential counter used for cloning detection. Present only for U2F authentication."
                    }
                },
                "required": [
                    "pinValue",
                    "counter"
                ]
            }
        ],
        "pattern": "^\\d{3,10}$|^\\S{1,64}$",
        "description": "Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type."
    },
    "AuthenticationInfo": {
        "title": "AuthenticationInfo",
        "type": "object",
        "additionalProperties": false,
        "description": "Data model for the complex type AuthenticationInfo.",
        "properties": {
            "authentication": {
                "title": "AuthenticationType",
                "type": "string",
                "enum": [
                    "OTP",
                    "QRCODE",
                    "U2F"
                ],
                "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.",
                "example": "OTP"
            },
            "authenticationValue": {
                "title": "AuthenticationValue",
                "anyOf": [
                    {
                        "title": "OtpValue",
                        "type": "string",
                        "pattern": "^\\d{3,10}$",
                        "description": "The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed."
                    },
                    {
                        "title": "QRCODE",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64,
                        "description": "QR code used as a One Time Password."
                    },
                    {
                        "title": "U2FPinValue",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.\n",
                        "properties": {
                            "pinValue": {
                                "type": "string",
                                "pattern": "^\\S{1,64}$",
                                "minLength": 1,
                                "maxLength": 64,
                                "description": "U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.\n"
                            },
                            "counter": {
                                "title": "Integer",
                                "type": "string",
                                "pattern": "^[1-9]\\d*$",
                                "description": "Sequential counter used for cloning detection. Present only for U2F authentication."
                            }
                        },
                        "required": [
                            "pinValue",
                            "counter"
                        ]
                    }
                ],
                "pattern": "^\\d{3,10}$|^\\S{1,64}$",
                "description": "Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type."
            }
        },
        "required": [
            "authentication",
            "authenticationValue"
        ]
    },
    "AuthorizationResponseType": {
        "title": "AuthorizationResponseType",
        "type": "string",
        "enum": [
            "ENTERED",
            "REJECTED",
            "RESEND"
        ],
        "description": "Below are the allowed values for the enumeration.\n- ENTERED - Consumer entered the authentication value.\n- REJECTED - Consumer rejected the transaction.\n- RESEND - Consumer requested to resend the authentication value.",
        "example": "ENTERED"
    },
    "AuthorizationIDPutResponse": {
        "title": "AuthorizationIDPutResponse",
        "type": "object",
        "additionalProperties": false,
        "description": "The object sent in the PUT /authorizations/{ID} callback.",
        "properties": {
            "authenticationInfo": {
                "title": "AuthenticationInfo",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type AuthenticationInfo.",
                "properties": {
                    "authentication": {
                        "title": "AuthenticationType",
                        "type": "string",
                        "enum": [
                            "OTP",
                            "QRCODE",
                            "U2F"
                        ],
                        "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.",
                        "example": "OTP"
                    },
                    "authenticationValue": {
                        "title": "AuthenticationValue",
                        "anyOf": [
                            {
                                "title": "OtpValue",
                                "type": "string",
                                "pattern": "^\\d{3,10}$",
                                "description": "The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed."
                            },
                            {
                                "title": "QRCODE",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 64,
                                "description": "QR code used as a One Time Password."
                            },
                            {
                                "title": "U2FPinValue",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.\n",
                                "properties": {
                                    "pinValue": {
                                        "type": "string",
                                        "pattern": "^\\S{1,64}$",
                                        "minLength": 1,
                                        "maxLength": 64,
                                        "description": "U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.\n"
                                    },
                                    "counter": {
                                        "title": "Integer",
                                        "type": "string",
                                        "pattern": "^[1-9]\\d*$",
                                        "description": "Sequential counter used for cloning detection. Present only for U2F authentication."
                                    }
                                },
                                "required": [
                                    "pinValue",
                                    "counter"
                                ]
                            }
                        ],
                        "pattern": "^\\d{3,10}$|^\\S{1,64}$",
                        "description": "Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type."
                    }
                },
                "required": [
                    "authentication",
                    "authenticationValue"
                ]
            },
            "responseType": {
                "title": "AuthorizationResponseType",
                "type": "string",
                "enum": [
                    "ENTERED",
                    "REJECTED",
                    "RESEND"
                ],
                "description": "Below are the allowed values for the enumeration.\n- ENTERED - Consumer entered the authentication value.\n- REJECTED - Consumer rejected the transaction.\n- RESEND - Consumer requested to resend the authentication value.",
                "example": "ENTERED"
            }
        },
        "required": [
            "responseType"
        ]
    },
    "requestToPayTransferResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "transactionRequestId",
            "from",
            "to",
            "amountType",
            "currency",
            "amount",
            "transactionType"
        ],
        "properties": {
            "transferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "homeR2PTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "transactionRequestId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "from": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "to": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "transactionType": {
                "title": "transferTransactionType",
                "type": "string",
                "enum": [
                    "TRANSFER"
                ],
                "description": "Type of transaction."
            },
            "note": {
                "title": "Note",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Memo assigned to transaction.",
                "example": "Note sent to Payee."
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "WAITING_FOR_PARTY_ACCEPTANCE",
                    "WAITING_FOR_QUOTE_ACCEPTANCE",
                    "COMPLETED"
                ]
            },
            "quoteId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "quoteResponse": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "title": "QuotesIDPutResponse",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "The object sent in the PUT /quotes/{ID} callback.",
                        "properties": {
                            "transferAmount": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeReceiveAmount": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeFspFee": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "payeeFspCommission": {
                                "title": "Money",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type Money.",
                                "properties": {
                                    "currency": {
                                        "title": "Currency",
                                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                        "type": "string",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "enum": [
                                            "AED",
                                            "AFN",
                                            "ALL",
                                            "AMD",
                                            "ANG",
                                            "AOA",
                                            "ARS",
                                            "AUD",
                                            "AWG",
                                            "AZN",
                                            "BAM",
                                            "BBD",
                                            "BDT",
                                            "BGN",
                                            "BHD",
                                            "BIF",
                                            "BMD",
                                            "BND",
                                            "BOB",
                                            "BRL",
                                            "BSD",
                                            "BTN",
                                            "BWP",
                                            "BYN",
                                            "BZD",
                                            "CAD",
                                            "CDF",
                                            "CHF",
                                            "CLP",
                                            "CNY",
                                            "COP",
                                            "CRC",
                                            "CUC",
                                            "CUP",
                                            "CVE",
                                            "CZK",
                                            "DJF",
                                            "DKK",
                                            "DOP",
                                            "DZD",
                                            "EGP",
                                            "ERN",
                                            "ETB",
                                            "EUR",
                                            "FJD",
                                            "FKP",
                                            "GBP",
                                            "GEL",
                                            "GGP",
                                            "GHS",
                                            "GIP",
                                            "GMD",
                                            "GNF",
                                            "GTQ",
                                            "GYD",
                                            "HKD",
                                            "HNL",
                                            "HRK",
                                            "HTG",
                                            "HUF",
                                            "IDR",
                                            "ILS",
                                            "IMP",
                                            "INR",
                                            "IQD",
                                            "IRR",
                                            "ISK",
                                            "JEP",
                                            "JMD",
                                            "JOD",
                                            "JPY",
                                            "KES",
                                            "KGS",
                                            "KHR",
                                            "KMF",
                                            "KPW",
                                            "KRW",
                                            "KWD",
                                            "KYD",
                                            "KZT",
                                            "LAK",
                                            "LBP",
                                            "LKR",
                                            "LRD",
                                            "LSL",
                                            "LYD",
                                            "MAD",
                                            "MDL",
                                            "MGA",
                                            "MKD",
                                            "MMK",
                                            "MNT",
                                            "MOP",
                                            "MRO",
                                            "MUR",
                                            "MVR",
                                            "MWK",
                                            "MXN",
                                            "MYR",
                                            "MZN",
                                            "NAD",
                                            "NGN",
                                            "NIO",
                                            "NOK",
                                            "NPR",
                                            "NZD",
                                            "OMR",
                                            "PAB",
                                            "PEN",
                                            "PGK",
                                            "PHP",
                                            "PKR",
                                            "PLN",
                                            "PYG",
                                            "QAR",
                                            "RON",
                                            "RSD",
                                            "RUB",
                                            "RWF",
                                            "SAR",
                                            "SBD",
                                            "SCR",
                                            "SDG",
                                            "SEK",
                                            "SGD",
                                            "SHP",
                                            "SLL",
                                            "SOS",
                                            "SPL",
                                            "SRD",
                                            "STD",
                                            "SVC",
                                            "SYP",
                                            "SZL",
                                            "THB",
                                            "TJS",
                                            "TMT",
                                            "TND",
                                            "TOP",
                                            "TRY",
                                            "TTD",
                                            "TVD",
                                            "TWD",
                                            "TZS",
                                            "UAH",
                                            "UGX",
                                            "USD",
                                            "UYU",
                                            "UZS",
                                            "VEF",
                                            "VND",
                                            "VUV",
                                            "WST",
                                            "XAF",
                                            "XCD",
                                            "XDR",
                                            "XOF",
                                            "XPF",
                                            "XTS",
                                            "XXX",
                                            "YER",
                                            "ZAR",
                                            "ZMW",
                                            "ZWD"
                                        ]
                                    },
                                    "amount": {
                                        "title": "Amount",
                                        "type": "string",
                                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                        "example": "123.45"
                                    }
                                },
                                "required": [
                                    "currency",
                                    "amount"
                                ]
                            },
                            "expiration": {
                                "title": "DateTime",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "geoCode": {
                                "title": "GeoCode",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.",
                                "properties": {
                                    "latitude": {
                                        "title": "Latitude",
                                        "type": "string",
                                        "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                        "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                        "example": "+45.4215"
                                    },
                                    "longitude": {
                                        "title": "Longitude",
                                        "type": "string",
                                        "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$",
                                        "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.",
                                        "example": "+75.6972"
                                    }
                                },
                                "required": [
                                    "latitude",
                                    "longitude"
                                ]
                            },
                            "ilpPacket": {
                                "title": "IlpPacket",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                                "minLength": 1,
                                "maxLength": 32768,
                                "description": "Information for recipient (transport layer information).",
                                "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
                            },
                            "condition": {
                                "title": "IlpCondition",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                "maxLength": 48,
                                "description": "Condition that must be attached to the transfer by the Payer."
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "transferAmount",
                            "expiration",
                            "ilpPacket",
                            "condition"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                }
            },
            "quoteResponseSource": {
                "type": "string",
                "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n"
            },
            "authorizationResponse": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "title": "AuthorizationIDPutResponse",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "The object sent in the PUT /authorizations/{ID} callback.",
                        "properties": {
                            "authenticationInfo": {
                                "title": "AuthenticationInfo",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type AuthenticationInfo.",
                                "properties": {
                                    "authentication": {
                                        "title": "AuthenticationType",
                                        "type": "string",
                                        "enum": [
                                            "OTP",
                                            "QRCODE",
                                            "U2F"
                                        ],
                                        "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.",
                                        "example": "OTP"
                                    },
                                    "authenticationValue": {
                                        "title": "AuthenticationValue",
                                        "anyOf": [
                                            {
                                                "title": "OtpValue",
                                                "type": "string",
                                                "pattern": "^\\d{3,10}$",
                                                "description": "The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed."
                                            },
                                            {
                                                "title": "QRCODE",
                                                "type": "string",
                                                "minLength": 1,
                                                "maxLength": 64,
                                                "description": "QR code used as a One Time Password."
                                            },
                                            {
                                                "title": "U2FPinValue",
                                                "type": "object",
                                                "additionalProperties": false,
                                                "description": "U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.\n",
                                                "properties": {
                                                    "pinValue": {
                                                        "type": "string",
                                                        "pattern": "^\\S{1,64}$",
                                                        "minLength": 1,
                                                        "maxLength": 64,
                                                        "description": "U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.\n"
                                                    },
                                                    "counter": {
                                                        "title": "Integer",
                                                        "type": "string",
                                                        "pattern": "^[1-9]\\d*$",
                                                        "description": "Sequential counter used for cloning detection. Present only for U2F authentication."
                                                    }
                                                },
                                                "required": [
                                                    "pinValue",
                                                    "counter"
                                                ]
                                            }
                                        ],
                                        "pattern": "^\\d{3,10}$|^\\S{1,64}$",
                                        "description": "Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type."
                                    }
                                },
                                "required": [
                                    "authentication",
                                    "authenticationValue"
                                ]
                            },
                            "responseType": {
                                "title": "AuthorizationResponseType",
                                "type": "string",
                                "enum": [
                                    "ENTERED",
                                    "REJECTED",
                                    "RESEND"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- ENTERED - Consumer entered the authentication value.\n- REJECTED - Consumer rejected the transaction.\n- RESEND - Consumer requested to resend the authentication value.",
                                "example": "ENTERED"
                            }
                        },
                        "required": [
                            "responseType"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                }
            },
            "fulfil": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "title": "TransfersIDPutResponse",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "The object sent in the PUT /transfers/{ID} callback.",
                        "properties": {
                            "fulfilment": {
                                "title": "IlpFulfilment",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                "maxLength": 48,
                                "description": "Fulfilment that must be attached to the transfer by the Payee.",
                                "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
                            },
                            "completedTimestamp": {
                                "title": "DateTime",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "transferState": {
                                "title": "TransferState",
                                "type": "string",
                                "enum": [
                                    "RECEIVED",
                                    "RESERVED",
                                    "COMMITTED",
                                    "ABORTED"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                                "example": "RESERVED"
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "transferState"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                }
            },
            "lastError": {
                "type": "object",
                "additionalProperties": false,
                "description": "This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.",
                "properties": {
                    "httpStatusCode": {
                        "type": "integer",
                        "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response."
                    },
                    "mojaloopError": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "errorInformation": {
                                "title": "ErrorInformation",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ErrorInformation.",
                                "properties": {
                                    "errorCode": {
                                        "title": "ErrorCode",
                                        "type": "string",
                                        "pattern": "^[1-9]\\d{3}$",
                                        "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.",
                                        "example": "5100"
                                    },
                                    "errorDescription": {
                                        "title": "ErrorDescription",
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 128,
                                        "description": "Error description string."
                                    },
                                    "extensionList": {
                                        "title": "ExtensionList",
                                        "type": "object",
                                        "additionalProperties": false,
                                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                        "properties": {
                                            "extension": {
                                                "type": "array",
                                                "items": {
                                                    "title": "Extension",
                                                    "type": "object",
                                                    "additionalProperties": false,
                                                    "description": "Data model for the complex type Extension.",
                                                    "properties": {
                                                        "key": {
                                                            "title": "ExtensionKey",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 32,
                                                            "description": "Extension key."
                                                        },
                                                        "value": {
                                                            "title": "ExtensionValue",
                                                            "type": "string",
                                                            "minLength": 1,
                                                            "maxLength": 128,
                                                            "description": "Extension value."
                                                        }
                                                    },
                                                    "required": [
                                                        "key",
                                                        "value"
                                                    ]
                                                },
                                                "minItems": 1,
                                                "maxItems": 16,
                                                "description": "Number of Extension elements."
                                            }
                                        },
                                        "required": [
                                            "extension"
                                        ]
                                    }
                                },
                                "required": [
                                    "errorCode",
                                    "errorDescription"
                                ]
                            }
                        }
                    }
                }
            }
        }
    },
    "transferContinuationAcceptOTP": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "acceptOTP"
        ],
        "properties": {
            "acceptOTP": {
                "type": "boolean",
                "enum": [
                    true,
                    false
                ]
            }
        }
    },
    "TransfersPostRequest": {
        "title": "TransfersPostRequest",
        "type": "object",
        "additionalProperties": false,
        "description": "The object sent in the POST /transfers request.",
        "properties": {
            "transferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "payeeFsp": {
                "title": "FspId",
                "type": "string",
                "minLength": 1,
                "maxLength": 32,
                "description": "FSP identifier."
            },
            "payerFsp": {
                "title": "FspId",
                "type": "string",
                "minLength": 1,
                "maxLength": 32,
                "description": "FSP identifier."
            },
            "amount": {
                "title": "Money",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type Money.",
                "properties": {
                    "currency": {
                        "title": "Currency",
                        "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 3,
                        "enum": [
                            "AED",
                            "AFN",
                            "ALL",
                            "AMD",
                            "ANG",
                            "AOA",
                            "ARS",
                            "AUD",
                            "AWG",
                            "AZN",
                            "BAM",
                            "BBD",
                            "BDT",
                            "BGN",
                            "BHD",
                            "BIF",
                            "BMD",
                            "BND",
                            "BOB",
                            "BRL",
                            "BSD",
                            "BTN",
                            "BWP",
                            "BYN",
                            "BZD",
                            "CAD",
                            "CDF",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CRC",
                            "CUC",
                            "CUP",
                            "CVE",
                            "CZK",
                            "DJF",
                            "DKK",
                            "DOP",
                            "DZD",
                            "EGP",
                            "ERN",
                            "ETB",
                            "EUR",
                            "FJD",
                            "FKP",
                            "GBP",
                            "GEL",
                            "GGP",
                            "GHS",
                            "GIP",
                            "GMD",
                            "GNF",
                            "GTQ",
                            "GYD",
                            "HKD",
                            "HNL",
                            "HRK",
                            "HTG",
                            "HUF",
                            "IDR",
                            "ILS",
                            "IMP",
                            "INR",
                            "IQD",
                            "IRR",
                            "ISK",
                            "JEP",
                            "JMD",
                            "JOD",
                            "JPY",
                            "KES",
                            "KGS",
                            "KHR",
                            "KMF",
                            "KPW",
                            "KRW",
                            "KWD",
                            "KYD",
                            "KZT",
                            "LAK",
                            "LBP",
                            "LKR",
                            "LRD",
                            "LSL",
                            "LYD",
                            "MAD",
                            "MDL",
                            "MGA",
                            "MKD",
                            "MMK",
                            "MNT",
                            "MOP",
                            "MRO",
                            "MUR",
                            "MVR",
                            "MWK",
                            "MXN",
                            "MYR",
                            "MZN",
                            "NAD",
                            "NGN",
                            "NIO",
                            "NOK",
                            "NPR",
                            "NZD",
                            "OMR",
                            "PAB",
                            "PEN",
                            "PGK",
                            "PHP",
                            "PKR",
                            "PLN",
                            "PYG",
                            "QAR",
                            "RON",
                            "RSD",
                            "RUB",
                            "RWF",
                            "SAR",
                            "SBD",
                            "SCR",
                            "SDG",
                            "SEK",
                            "SGD",
                            "SHP",
                            "SLL",
                            "SOS",
                            "SPL",
                            "SRD",
                            "STD",
                            "SVC",
                            "SYP",
                            "SZL",
                            "THB",
                            "TJS",
                            "TMT",
                            "TND",
                            "TOP",
                            "TRY",
                            "TTD",
                            "TVD",
                            "TWD",
                            "TZS",
                            "UAH",
                            "UGX",
                            "USD",
                            "UYU",
                            "UZS",
                            "VEF",
                            "VND",
                            "VUV",
                            "WST",
                            "XAF",
                            "XCD",
                            "XDR",
                            "XOF",
                            "XPF",
                            "XTS",
                            "XXX",
                            "YER",
                            "ZAR",
                            "ZMW",
                            "ZWD"
                        ]
                    },
                    "amount": {
                        "title": "Amount",
                        "type": "string",
                        "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                        "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                        "example": "123.45"
                    }
                },
                "required": [
                    "currency",
                    "amount"
                ]
            },
            "ilpPacket": {
                "title": "IlpPacket",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                "minLength": 1,
                "maxLength": 32768,
                "description": "Information for recipient (transport layer information).",
                "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
            },
            "condition": {
                "title": "IlpCondition",
                "type": "string",
                "pattern": "^[A-Za-z0-9-_]{43}$",
                "maxLength": 48,
                "description": "Condition that must be attached to the transfer by the Payer."
            },
            "expiration": {
                "title": "DateTime",
                "type": "string",
                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                "example": "2016-05-24T08:38:08.699-04:00"
            },
            "extensionList": {
                "title": "ExtensionList",
                "type": "object",
                "additionalProperties": false,
                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                "properties": {
                    "extension": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 1,
                        "maxItems": 16,
                        "description": "Number of Extension elements."
                    }
                },
                "required": [
                    "extension"
                ]
            }
        },
        "required": [
            "transferId",
            "payeeFsp",
            "payerFsp",
            "amount",
            "ilpPacket",
            "condition",
            "expiration"
        ]
    },
    "simpleTransfersPostRequest": {
        "title": "SimpleTransfersPostRequest",
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "fspId": {
                "title": "FspId",
                "type": "string",
                "minLength": 1,
                "maxLength": 32,
                "description": "FSP identifier."
            },
            "transfersPostRequest": {
                "title": "TransfersPostRequest",
                "type": "object",
                "additionalProperties": false,
                "description": "The object sent in the POST /transfers request.",
                "properties": {
                    "transferId": {
                        "title": "CorrelationId",
                        "type": "string",
                        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                        "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                        "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
                    },
                    "payeeFsp": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "payerFsp": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "amount": {
                        "title": "Money",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type Money.",
                        "properties": {
                            "currency": {
                                "title": "Currency",
                                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                                "type": "string",
                                "minLength": 3,
                                "maxLength": 3,
                                "enum": [
                                    "AED",
                                    "AFN",
                                    "ALL",
                                    "AMD",
                                    "ANG",
                                    "AOA",
                                    "ARS",
                                    "AUD",
                                    "AWG",
                                    "AZN",
                                    "BAM",
                                    "BBD",
                                    "BDT",
                                    "BGN",
                                    "BHD",
                                    "BIF",
                                    "BMD",
                                    "BND",
                                    "BOB",
                                    "BRL",
                                    "BSD",
                                    "BTN",
                                    "BWP",
                                    "BYN",
                                    "BZD",
                                    "CAD",
                                    "CDF",
                                    "CHF",
                                    "CLP",
                                    "CNY",
                                    "COP",
                                    "CRC",
                                    "CUC",
                                    "CUP",
                                    "CVE",
                                    "CZK",
                                    "DJF",
                                    "DKK",
                                    "DOP",
                                    "DZD",
                                    "EGP",
                                    "ERN",
                                    "ETB",
                                    "EUR",
                                    "FJD",
                                    "FKP",
                                    "GBP",
                                    "GEL",
                                    "GGP",
                                    "GHS",
                                    "GIP",
                                    "GMD",
                                    "GNF",
                                    "GTQ",
                                    "GYD",
                                    "HKD",
                                    "HNL",
                                    "HRK",
                                    "HTG",
                                    "HUF",
                                    "IDR",
                                    "ILS",
                                    "IMP",
                                    "INR",
                                    "IQD",
                                    "IRR",
                                    "ISK",
                                    "JEP",
                                    "JMD",
                                    "JOD",
                                    "JPY",
                                    "KES",
                                    "KGS",
                                    "KHR",
                                    "KMF",
                                    "KPW",
                                    "KRW",
                                    "KWD",
                                    "KYD",
                                    "KZT",
                                    "LAK",
                                    "LBP",
                                    "LKR",
                                    "LRD",
                                    "LSL",
                                    "LYD",
                                    "MAD",
                                    "MDL",
                                    "MGA",
                                    "MKD",
                                    "MMK",
                                    "MNT",
                                    "MOP",
                                    "MRO",
                                    "MUR",
                                    "MVR",
                                    "MWK",
                                    "MXN",
                                    "MYR",
                                    "MZN",
                                    "NAD",
                                    "NGN",
                                    "NIO",
                                    "NOK",
                                    "NPR",
                                    "NZD",
                                    "OMR",
                                    "PAB",
                                    "PEN",
                                    "PGK",
                                    "PHP",
                                    "PKR",
                                    "PLN",
                                    "PYG",
                                    "QAR",
                                    "RON",
                                    "RSD",
                                    "RUB",
                                    "RWF",
                                    "SAR",
                                    "SBD",
                                    "SCR",
                                    "SDG",
                                    "SEK",
                                    "SGD",
                                    "SHP",
                                    "SLL",
                                    "SOS",
                                    "SPL",
                                    "SRD",
                                    "STD",
                                    "SVC",
                                    "SYP",
                                    "SZL",
                                    "THB",
                                    "TJS",
                                    "TMT",
                                    "TND",
                                    "TOP",
                                    "TRY",
                                    "TTD",
                                    "TVD",
                                    "TWD",
                                    "TZS",
                                    "UAH",
                                    "UGX",
                                    "USD",
                                    "UYU",
                                    "UZS",
                                    "VEF",
                                    "VND",
                                    "VUV",
                                    "WST",
                                    "XAF",
                                    "XCD",
                                    "XDR",
                                    "XOF",
                                    "XPF",
                                    "XTS",
                                    "XXX",
                                    "YER",
                                    "ZAR",
                                    "ZMW",
                                    "ZWD"
                                ]
                            },
                            "amount": {
                                "title": "Amount",
                                "type": "string",
                                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                                "example": "123.45"
                            }
                        },
                        "required": [
                            "currency",
                            "amount"
                        ]
                    },
                    "ilpPacket": {
                        "title": "IlpPacket",
                        "type": "string",
                        "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$",
                        "minLength": 1,
                        "maxLength": 32768,
                        "description": "Information for recipient (transport layer information).",
                        "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA"
                    },
                    "condition": {
                        "title": "IlpCondition",
                        "type": "string",
                        "pattern": "^[A-Za-z0-9-_]{43}$",
                        "maxLength": 48,
                        "description": "Condition that must be attached to the transfer by the Payer."
                    },
                    "expiration": {
                        "title": "DateTime",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                        "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                        "example": "2016-05-24T08:38:08.699-04:00"
                    },
                    "extensionList": {
                        "title": "ExtensionList",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                        "properties": {
                            "extension": {
                                "type": "array",
                                "items": {
                                    "title": "Extension",
                                    "type": "object",
                                    "additionalProperties": false,
                                    "description": "Data model for the complex type Extension.",
                                    "properties": {
                                        "key": {
                                            "title": "ExtensionKey",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 32,
                                            "description": "Extension key."
                                        },
                                        "value": {
                                            "title": "ExtensionValue",
                                            "type": "string",
                                            "minLength": 1,
                                            "maxLength": 128,
                                            "description": "Extension value."
                                        }
                                    },
                                    "required": [
                                        "key",
                                        "value"
                                    ]
                                },
                                "minItems": 1,
                                "maxItems": 16,
                                "description": "Number of Extension elements."
                            }
                        },
                        "required": [
                            "extension"
                        ]
                    }
                },
                "required": [
                    "transferId",
                    "payeeFsp",
                    "payerFsp",
                    "amount",
                    "ilpPacket",
                    "condition",
                    "expiration"
                ]
            }
        },
        "required": [
            "fspId",
            "transfersPostRequest"
        ]
    },
    "simpleTransfersPostResponse": {
        "title": "SimpleTransfersPostResponse",
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "transfer": {
                "properties": {
                    "body": {
                        "title": "TransfersIDPutResponse",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "The object sent in the PUT /transfers/{ID} callback.",
                        "properties": {
                            "fulfilment": {
                                "title": "IlpFulfilment",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                "maxLength": 48,
                                "description": "Fulfilment that must be attached to the transfer by the Payee.",
                                "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
                            },
                            "completedTimestamp": {
                                "title": "DateTime",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "transferState": {
                                "title": "TransferState",
                                "type": "string",
                                "enum": [
                                    "RECEIVED",
                                    "RESERVED",
                                    "COMMITTED",
                                    "ABORTED"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                                "example": "RESERVED"
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "transferState"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                },
                "required": [
                    "body",
                    "headers"
                ]
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "WAITING_FOR_ACTION",
                    "COMPLETED",
                    "ERROR_OCCURRED"
                ]
            }
        },
        "required": [
            "transfer",
            "currentState"
        ]
    },
    "errorSimpleTransfersResponse": {
        "allOf": [
            {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Error code as string."
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message text."
                    }
                }
            },
            {
                "type": "object"
            }
        ],
        "additionalProperties": false
    },
    "transferRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "homeTransactionId",
            "from",
            "to",
            "amountType",
            "currency",
            "amount",
            "transactionType"
        ],
        "properties": {
            "homeTransactionId": {
                "type": "string",
                "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems."
            },
            "from": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "to": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "idType",
                    "idValue"
                ],
                "properties": {
                    "type": {
                        "title": "TransactionInitiatorType",
                        "type": "string",
                        "enum": [
                            "CONSUMER",
                            "AGENT",
                            "BUSINESS",
                            "DEVICE"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.",
                        "example": "CONSUMER"
                    },
                    "idType": {
                        "title": "PartyIdType",
                        "type": "string",
                        "enum": [
                            "MSISDN",
                            "EMAIL",
                            "PERSONAL_ID",
                            "BUSINESS",
                            "DEVICE",
                            "ACCOUNT_ID",
                            "IBAN",
                            "ALIAS"
                        ],
                        "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
                    },
                    "idValue": {
                        "title": "PartyIdentifier",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Identifier of the Party.",
                        "example": "16135551212"
                    },
                    "idSubValue": {
                        "title": "PartySubIdOrType",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
                    },
                    "displayName": {
                        "title": "Name",
                        "type": "string",
                        "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
                        "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters."
                    },
                    "firstName": {
                        "title": "FirstName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "First name of the Party (Name Type).",
                        "example": "Henrik"
                    },
                    "middleName": {
                        "title": "MiddleName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Middle name of the Party (Name Type).",
                        "example": "Johannes"
                    },
                    "lastName": {
                        "title": "LastName",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$",
                        "description": "Last name of the Party (Name Type).",
                        "example": "Karlsson"
                    },
                    "dateOfBirth": {
                        "title": "DateofBirth (type Date)",
                        "type": "string",
                        "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
                        "description": "Date of Birth of the Party.",
                        "example": "1966-06-16"
                    },
                    "merchantClassificationCode": {
                        "title": "MerchantClassificationCode",
                        "type": "string",
                        "pattern": "^[\\d]{1,4}$",
                        "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc."
                    },
                    "fspId": {
                        "title": "FspId",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 32,
                        "description": "FSP identifier."
                    },
                    "extensionList": {
                        "type": "array",
                        "items": {
                            "title": "Extension",
                            "type": "object",
                            "additionalProperties": false,
                            "description": "Data model for the complex type Extension.",
                            "properties": {
                                "key": {
                                    "title": "ExtensionKey",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 32,
                                    "description": "Extension key."
                                },
                                "value": {
                                    "title": "ExtensionValue",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 128,
                                    "description": "Extension value."
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        },
                        "minItems": 0,
                        "maxItems": 16
                    }
                }
            },
            "amountType": {
                "title": "AmountType",
                "type": "string",
                "enum": [
                    "SEND",
                    "RECEIVE"
                ],
                "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.",
                "example": "RECEIVE"
            },
            "currency": {
                "title": "Currency",
                "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.",
                "type": "string",
                "minLength": 3,
                "maxLength": 3,
                "enum": [
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ANG",
                    "AOA",
                    "ARS",
                    "AUD",
                    "AWG",
                    "AZN",
                    "BAM",
                    "BBD",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BMD",
                    "BND",
                    "BOB",
                    "BRL",
                    "BSD",
                    "BTN",
                    "BWP",
                    "BYN",
                    "BZD",
                    "CAD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CUC",
                    "CUP",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EGP",
                    "ERN",
                    "ETB",
                    "EUR",
                    "FJD",
                    "FKP",
                    "GBP",
                    "GEL",
                    "GGP",
                    "GHS",
                    "GIP",
                    "GMD",
                    "GNF",
                    "GTQ",
                    "GYD",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HTG",
                    "HUF",
                    "IDR",
                    "ILS",
                    "IMP",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JEP",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KGS",
                    "KHR",
                    "KMF",
                    "KPW",
                    "KRW",
                    "KWD",
                    "KYD",
                    "KZT",
                    "LAK",
                    "LBP",
                    "LKR",
                    "LRD",
                    "LSL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MNT",
                    "MOP",
                    "MRO",
                    "MUR",
                    "MVR",
                    "MWK",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PGK",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SBD",
                    "SCR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SHP",
                    "SLL",
                    "SOS",
                    "SPL",
                    "SRD",
                    "STD",
                    "SVC",
                    "SYP",
                    "SZL",
                    "THB",
                    "TJS",
                    "TMT",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TVD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "USD",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "VUV",
                    "WST",
                    "XAF",
                    "XCD",
                    "XDR",
                    "XOF",
                    "XPF",
                    "XTS",
                    "XXX",
                    "YER",
                    "ZAR",
                    "ZMW",
                    "ZWD"
                ]
            },
            "amount": {
                "title": "Amount",
                "type": "string",
                "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$",
                "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.",
                "example": "123.45"
            },
            "transactionType": {
                "title": "transferTransactionType",
                "type": "string",
                "enum": [
                    "TRANSFER"
                ],
                "description": "Type of transaction."
            },
            "subScenario": {
                "title": "TransactionSubScenario",
                "type": "string",
                "pattern": "^[A-Z_]{1,32}$",
                "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).",
                "example": "LOCALLY_DEFINED_SUBSCENARIO"
            },
            "note": {
                "title": "Note",
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "description": "Memo assigned to transaction.",
                "example": "Note sent to Payee."
            },
            "quoteRequestExtensions": {
                "type": "array",
                "items": {
                    "title": "Extension",
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Data model for the complex type Extension.",
                    "properties": {
                        "key": {
                            "title": "ExtensionKey",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 32,
                            "description": "Extension key."
                        },
                        "value": {
                            "title": "ExtensionValue",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Extension value."
                        }
                    },
                    "required": [
                        "key",
                        "value"
                    ]
                },
                "minItems": 0,
                "maxItems": 16
            },
            "transferRequestExtensions": {
                "type": "array",
                "items": {
                    "title": "Extension",
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Data model for the complex type Extension.",
                    "properties": {
                        "key": {
                            "title": "ExtensionKey",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 32,
                            "description": "Extension key."
                        },
                        "value": {
                            "title": "ExtensionValue",
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "description": "Extension value."
                        }
                    },
                    "required": [
                        "key",
                        "value"
                    ]
                },
                "minItems": 0,
                "maxItems": 16
            },
            "skipPartyLookup": {
                "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.",
                "type": "boolean"
            }
        }
    },
    "transferStatusResponse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
            "transferId",
            "currentState",
            "fulfil"
        ],
        "properties": {
            "transferId": {
                "title": "CorrelationId",
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
                "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).",
                "example": "b51ec534-ee48-4575-b6a9-ead2955b8069"
            },
            "currentState": {
                "type": "string",
                "enum": [
                    "ERROR_OCCURRED",
                    "WAITING_FOR_PARTY_ACCEPTANCE",
                    "WAITING_FOR_QUOTE_ACCEPTANCE",
                    "COMPLETED"
                ]
            },
            "fulfil": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "title": "TransfersIDPutResponse",
                        "type": "object",
                        "additionalProperties": false,
                        "description": "The object sent in the PUT /transfers/{ID} callback.",
                        "properties": {
                            "fulfilment": {
                                "title": "IlpFulfilment",
                                "type": "string",
                                "pattern": "^[A-Za-z0-9-_]{43}$",
                                "maxLength": 48,
                                "description": "Fulfilment that must be attached to the transfer by the Payee.",
                                "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8"
                            },
                            "completedTimestamp": {
                                "title": "DateTime",
                                "type": "string",
                                "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$",
                                "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).",
                                "example": "2016-05-24T08:38:08.699-04:00"
                            },
                            "transferState": {
                                "title": "TransferState",
                                "type": "string",
                                "enum": [
                                    "RECEIVED",
                                    "RESERVED",
                                    "COMMITTED",
                                    "ABORTED"
                                ],
                                "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.",
                                "example": "RESERVED"
                            },
                            "extensionList": {
                                "title": "ExtensionList",
                                "type": "object",
                                "additionalProperties": false,
                                "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.",
                                "properties": {
                                    "extension": {
                                        "type": "array",
                                        "items": {
                                            "title": "Extension",
                                            "type": "object",
                                            "additionalProperties": false,
                                            "description": "Data model for the complex type Extension.",
                                            "properties": {
                                                "key": {
                                                    "title": "ExtensionKey",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 32,
                                                    "description": "Extension key."
                                                },
                                                "value": {
                                                    "title": "ExtensionValue",
                                                    "type": "string",
                                                    "minLength": 1,
                                                    "maxLength": 128,
                                                    "description": "Extension value."
                                                }
                                            },
                                            "required": [
                                                "key",
                                                "value"
                                            ]
                                        },
                                        "minItems": 1,
                                        "maxItems": 16,
                                        "description": "Number of Extension elements."
                                    }
                                },
                                "required": [
                                    "extension"
                                ]
                            }
                        },
                        "required": [
                            "transferState"
                        ]
                    },
                    "headers": {
                        "type": "object"
                    }
                }
            }
        }
    }
}
