{
  "openapi" : "3.0.2",
  "info" : {
    "title" : "Payment Pre-validation",
    "description" : "Enable your application to validate your cross-border payment instructions as early as possible in the payment process.\n\n**v2.4.1 Release Notes**\n\nAs part of the continuous development of Payment Pre-validation API services, a new validation service is available as below. In addition, there are some minor changes to the descriptions and examples for the other existing services to align with the functional specification document.\n\n  **Payment Instruction validation service** - This service provides a contextual payment validation. It is meant for a debtor bank or payment initiating end-customer who wants to validate a combination of payment elements, and that with one single API:\n  * Debtor Agent Country\n  * Creditor Agent Country\n  * Creditor Account\n  * Instructed Currency, and\n  * Instructed Amount\n  \n  Based on the elements provided, the service orchestrates multiple validations (note that these validations remain as well available as individual services). This contextual validation service is designed as such, that new validations of additional elements can easily be integrated in the future. \n  \n  Further to this new validation service, updates have been made to the error response examples with the updated internal error codes.\n  \n  **Note**: When implementing the Data Provider API specifications, please make sure to follow the relevant onboarding guide and functional specification documents available here: https://www2.swift.com/knowledgecentre/products/Payment%20Pre-validation/publications",
    "contact" : {
      "name" : "Developer Hub",
      "url" : "https://developer.swift.com",
      "email" : "developer-support@swift.com"
    },
    "license" : {
      "name" : "API Restricted License",
      "url" : "https://developer.swift.com/api-license"
    },
    "version" : "2.4.1"
  },
  "servers" : [ {
    "description" : "URL for Apigee (SDK consumer) Pilot.",
    "url" : "https://api-test.swiftnet.sipn.swift.com/swift-preval-pilot/v2"
  }, {
    "description" : "URL for Apigee (SDK consumer) Live.",
    "url" : "https://api.swiftnet.sipn.swift.com/swift-preval/v2"
  }, {
    "description" : "URL for Sandbox Environment.",
    "url" : "https://sandbox.swift.com/swift-preval/v2"
  }, {
    "description" : "URL for Production Environment",
    "url" : "https://api.swift.com/swift-preval/v2"
  }, {
    "description" : "URL for Test Environment",
    "url" : "https://api-pilot.swift.com/swift-preval-pilot/v2"
  },
    {
      "description": "Extended availability Live environment",
      "url": "https://api.common.swiftnet.sipn.swift.com/swift-preval-pilot/v2"
    },
    {
      "description": "Extended availability Test environment",
      "url": "https://api-pilot.common.swiftnet.sipn.swift.com/swift-preval/v2"
    }
  ],
  "externalDocs" : {
    "description" : "To make a request to this API, the client must pass the access token obtained as a result of OAuth 2.0 flows. For more information please visit developer portal.",
    "url" : "https://developer.swift.com/oauth-overview"
  },
  "tags" : [ {
    "name" : "Payment Pre-validation"
  } ],
  "paths" : {
    "/accounts/verification" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Verify that a beneficiary account could be able to receive incoming funds.",
        "description" : "The service verifies that an account exists and is capable of receiving incoming funds. The service uses the beneficiary bank subscribed as data provider to perform the account verification that usually implies that the account is open, properly identified by the given number and, depending on the jurisdiction and market practices in use where the account is held, that the creditor name matches the name of the account holder. When the beneficiary bank did not subscribe as data provider, SWIFT will use pseudonymized account statistics to perform the account number verification that implies that the account exists and is likely to receive funds and the creditor name will not be verified. SWIFT and the beneficiary banks subscribed as data provider do not take liability for the response and do not provide any guarantee on the outcome of an actual transaction being sent to this account. The information provided is meant to be as accurate as possible at the time that the request was processed. The requester must pass the creditor name and the service provider can use this information as part of the verification or not.\n",
        "operationId" : "verifyBeneficiaryAccount",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT or of the Payment Pre-validation Data Provider. The x-bic value must correspond to the BIC of the beneficiary bank subscribed to the service as Data Provider and performing the beneficiary account validation when the clients want to validate beneficiary account information exclusively with the beneficiary bank. The x- BIC value must be SWIFT BIC (swhqbebb) to use the beneficiary bank when it is subscribed to the service as data provider or to use the pseudonymized account statistics when the beneficiary bank is not subscribed to the service as data provider.\n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string",
            "example" : "cclabebb"
          }
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace. Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "X-Request-Date-Time",
          "description" : "The timestamp of the request, based on the client's clock. Request date time must be created and supplied at the time of request. The date-time must be represented as specified in RFC 7231. For example - Sun, 06 Nov 1994 08:49:37 GMT.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        } ],
        "security" : [ {
          "oauthBearerToken" : [ ]
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AccountVerificationRequest"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/BAVReqUseCase-1"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nGet Account Details Response\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountVerificationResponse1"
                },
                "examples" : {
                  "DC_1.1.1_Account_Number_Matches_And_Name_Matching_Not_Applicable" : {
                    "$ref" : "#/components/examples/DC_1.1.1_Account_Number_Matches_And_Name_Matching_Not_Applicable"
                  },
                  "DC_1.1.2_Account_Number_Matches_And_Name_Matches" : {
                    "$ref" : "#/components/examples/DC_1.1.2_Account_Number_Matches_And_Name_Matches"
                  },
                  "DC_1.1.3_Account_Number_Matches_And_Name_Partially_Matches" : {
                    "$ref" : "#/components/examples/DC_1.1.3_Account_Number_Matches_And_Name_Partially_Matches"
                  },
                  "DC_1.1.4_Account_Number_Matches_But_Name_Does_Not_Match" : {
                    "$ref" : "#/components/examples/DC_1.1.4_Account_Number_Matches_But_Name_Does_Not_Match"
                  },
                  "DC_1.2.1_Account_Number_Matches_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time" : {
                    "$ref" : "#/components/examples/DC_1.2.1_Account_Number_Matches_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time"
                  },
                  "DC_1.2.2_Account_Number_Matches_And_Name_Partially_Matches" : {
                    "$ref" : "#/components/examples/DC_1.2.2_Account_Number_Matches_And_Name_Partially_Matches"
                  },
                  "DC_1.2.3_Account_Number_Matches_But_Name_Does_Not_Match" : {
                    "$ref" : "#/components/examples/DC_1.2.3_Account_Number_Matches_But_Name_Does_Not_Match"
                  },
                  "DC_1.3_Account_Type_Is_Out_Of_Scope_Of_The_Implementation_OR_Cannot_Be_Serviced" : {
                    "$ref" : "#/components/examples/DC_1.3_Account_Type_Is_Out_Of_Scope_Of_The_Implementation_OR_Cannot_Be_Serviced"
                  },
                  "DC_1.4.1_Account_Number_Can_Be_Reallocated_And_Name_Matching_Not_Applicable" : {
                    "$ref" : "#/components/examples/DC_1.4.1_Account_Number_Can_Be_Reallocated_And_Name_Matching_Not_Applicable"
                  },
                  "DC_1.4.2_Account_Number_Can_Be_Reallocated_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time" : {
                    "$ref" : "#/components/examples/DC_1.4.2_Account_Number_Can_Be_Reallocated_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time"
                  },
                  "DC_1.4.3_Account_Number_Can_Be_Reallocated_And_Name_Matches" : {
                    "$ref" : "#/components/examples/DC_1.4.3_Account_Number_Can_Be_Reallocated_And_Name_Matches"
                  },
                  "DC_1.4.4_Account_Number_Can_Be_Reallocated_And_Name_Partially_Matches" : {
                    "$ref" : "#/components/examples/DC_1.4.4_Account_Number_Can_Be_Reallocated_And_Name_Partially_Matches"
                  },
                  "DC_1.4.5_Account_Number_Can_Be_Reallocated_But_Name_Does_Not_Match" : {
                    "$ref" : "#/components/examples/DC_1.4.5_Account_Number_Can_Be_Reallocated_But_Name_Does_Not_Match"
                  },
                  "DC_2.1.1_Account_Number_Is_Not_Valid_And_Name_Matching_Not_Applicable" : {
                    "$ref" : "#/components/examples/DC_2.1.1_Account_Number_Is_Not_Valid_And_Name_Matching_Not_Applicable"
                  },
                  "DC_2.1.2_Account_Number_Is_Not_Valid_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time" : {
                    "$ref" : "#/components/examples/DC_2.1.2_Account_Number_Is_Not_Valid_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time"
                  },
                  "DC_2.2.1_Account_Number_Matches_And_Name_Partially_Matches" : {
                    "$ref" : "#/components/examples/DC_2.2.1_Account_Number_Matches_And_Name_Partially_Matches"
                  },
                  "DC_2.2.2_Account_Number_Matches_But_Names_Does_Not_Match" : {
                    "$ref" : "#/components/examples/DC_2.2.2_Account_Number_Matches_But_Names_Does_Not_Match"
                  },
                  "DC_3.1_Account_Found_For_Transactions_That_Did_Not_Fail_Due_To_Invalid_Account_Number" : {
                    "$ref" : "#/components/examples/DC_3.1_Account_Found_For_Transactions_That_Did_Not_Fail_Due_To_Invalid_Account_Number"
                  },
                  "DC_3.2_Account_Not_Found" : {
                    "$ref" : "#/components/examples/DC_3.2_Account_Not_Found"
                  },
                  "DC_3.3_Account_Found_For_Transactions_That_Fail_Due_To_Invalid_Account_Number" : {
                    "$ref" : "#/components/examples/DC_3.3_Account_Found_For_Transactions_That_Fail_Due_To_Invalid_Account_Number"
                  },
                  "DC_4.1_Account_Matches_With_Correlation_Id" : {
                    "$ref" : "#/components/examples/DC_4.1_Account_Matches_With_Correlation_Id"
                  },
                  "DC_5.1_Account_Matches_And_Disclose_Creditor_Name" : {
                    "$ref" : "#/components/examples/DC_5.1_Account_Matches_And_Disclose_Creditor_Name"
                  },
                  "DC_5.2_Account_Matches_And_Disclose_Creditor_Account" : {
                    "$ref" : "#/components/examples/DC_5.2_Account_Matches_And_Disclose_Creditor_Account"
                  },
                  "DC_5.3_Account_Matches_And_Disclose_Creditor_Account_Type" : {
                    "$ref" : "#/components/examples/DC_5.3_Account_Matches_And_Disclose_Creditor_Account_Type"
                  },
                  "DC_5.4_Account_Matches_And_Disclose_Creditor_Account_Address" : {
                    "$ref" : "#/components/examples/DC_5.4_Account_Matches_And_Disclose_Creditor_Account_Address"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "API_Request_Is_Malformed" : {
                    "$ref" : "#/components/examples/API_Request_Is_Malformed"
                  },
                  "Account_Out_Of_Scope_Of_The_Implementation_OR_Cannot_Be_Serviced" : {
                    "$ref" : "#/components/examples/Account_Out_Of_Scope_Of_The_Implementation_OR_Cannot_Be_Serviced"
                  },
                  "Data_Provider_Is_Not_Active" : {
                    "$ref" : "#/components/examples/Data_Provider_Is_Not_Active"
                  },
                  "Account_Error_Unsupported_Format" : {
                    "$ref" : "#/components/examples/Account_Error_Unsupported_Format"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/accounts/data-provider" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Validates the instructed institution as Payment Pre-validation Data Provider.",
        "description" : "Validates if the instructed institution is registered in the SWIFT reference data as Data Provider for Payment Pre-validation Data Provider API services. If no institution instructed for validation, provides all the registered Payment Pre-validation Data Providers.\n",
        "operationId" : "getDataProviderIdentityValidationStatus",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT as SWIFT is performing the service, centrally. The x-bic value must be swhqbebb. \n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string"
          },
          "example" : "swhqbebb"
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace.Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataProviderIdentityValidation1"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/DPReqUseCase-1"
                },
                "UseCase-2" : {
                  "$ref" : "#/components/examples/DPReqUseCase-2"
                },
                "UseCase-3" : {
                  "$ref" : "#/components/examples/DPReqUseCase-3"
                },
                "UseCase-4" : {
                  "$ref" : "#/components/examples/DPReqUseCase-4"
                },
                "UseCase-5" : {
                  "$ref" : "#/components/examples/DPReqUseCase-5"
                },
                "UseCase-6" : {
                  "$ref" : "#/components/examples/DPReqUseCase-6"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nRepresents the response details that the Data Provider Identity validation service will provide to the service consumer (the \"User\").\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataProviderIdentityValidationStatus1"
                },
                "examples" : {
                  "UseCase-1" : {
                    "$ref" : "#/components/examples/DPResUseCase-1"
                  },
                  "UseCase-2" : {
                    "$ref" : "#/components/examples/DPResUseCase-2"
                  },
                  "UseCase-3" : {
                    "$ref" : "#/components/examples/DPResUseCase-3"
                  },
                  "UseCase-4" : {
                    "$ref" : "#/components/examples/DPResUseCase-4"
                  },
                  "UseCase-5" : {
                    "$ref" : "#/components/examples/DPResUseCase-5"
                  },
                  "UseCase-6" : {
                    "$ref" : "#/components/examples/DPResUseCase-6"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/account-format" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Validates the account format.",
        "description" : "The service performs the format validation of the instructed account identifier against all the format that apply to the instructed context (country and/or the financial institution that holds the account).\n",
        "operationId" : "getAccountFormatValidationStatus",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT as SWIFT is performing the service, centrally. The x-bic value must be swhqbebb. \n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string"
          },
          "example" : "swhqbebb"
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace. Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AccountFormatValidation1"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/AFReqUseCase-1"
                },
                "UseCase-2" : {
                  "$ref" : "#/components/examples/AFReqUseCase-2"
                },
                "UseCase-3" : {
                  "$ref" : "#/components/examples/AFReqUseCase-3"
                },
                "UseCase-4" : {
                  "$ref" : "#/components/examples/AFReqUseCase-4"
                },
                "UseCase-5" : {
                  "$ref" : "#/components/examples/AFReqUseCase-5"
                },
                "UseCase-6" : {
                  "$ref" : "#/components/examples/AFReqUseCase-6"
                },
                "UseCase-7" : {
                  "$ref" : "#/components/examples/AFReqUseCase-7"
                },
                "UseCase-8" : {
                  "$ref" : "#/components/examples/AFReqUseCase-8"
                },
                "UseCase-9" : {
                  "$ref" : "#/components/examples/AFReqUseCase-9"
                },
                "UseCase-10" : {
                  "$ref" : "#/components/examples/AFReqUseCase-10"
                },
                "UseCase-11" : {
                  "$ref" : "#/components/examples/AFReqUseCase-11"
                },
                "UseCase-12" : {
                  "$ref" : "#/components/examples/AFReqUseCase-12"
                },
                "UseCase-13" : {
                  "$ref" : "#/components/examples/AFReqUseCase-13"
                },
                "UseCase-17" : {
                  "$ref" : "#/components/examples/AFReqUseCase-14"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nThis represents the response details that the Account Format validation service will provide to the service consumer.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AccountFormatValidationStatus1"
                },
                "examples" : {
                  "UseCase-1" : {
                    "$ref" : "#/components/examples/AFResUseCase-1"
                  },
                  "UseCase-2" : {
                    "$ref" : "#/components/examples/AFResUseCase-2"
                  },
                  "UseCase-3" : {
                    "$ref" : "#/components/examples/AFResUseCase-3"
                  },
                  "UseCase-4" : {
                    "$ref" : "#/components/examples/AFResUseCase-4"
                  },
                  "UseCase-5" : {
                    "$ref" : "#/components/examples/AFResUseCase-5"
                  },
                  "UseCase-6" : {
                    "$ref" : "#/components/examples/AFResUseCase-6"
                  },
                  "UseCase-7" : {
                    "$ref" : "#/components/examples/AFResUseCase-7"
                  },
                  "UseCase-8" : {
                    "$ref" : "#/components/examples/AFResUseCase-8"
                  },
                  "UseCase-9" : {
                    "$ref" : "#/components/examples/AFResUseCase-9"
                  },
                  "UseCase-10" : {
                    "$ref" : "#/components/examples/AFResUseCase-10"
                  },
                  "UseCase-11" : {
                    "$ref" : "#/components/examples/AFResUseCase-11"
                  },
                  "UseCase-12" : {
                    "$ref" : "#/components/examples/AFResUseCase-12"
                  },
                  "UseCase-13" : {
                    "$ref" : "#/components/examples/AFResUseCase-13"
                  },
                  "UseCase-17" : {
                    "$ref" : "#/components/examples/AFResUseCase-14"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "AFErrUseCase-1" : {
                    "$ref" : "#/components/examples/AFErrUseCase-1"
                  },
                  "AFErrUseCase-2" : {
                    "$ref" : "#/components/examples/AFErrUseCase-2"
                  },
                  "AFErrUseCase-3" : {
                    "$ref" : "#/components/examples/AFErrUseCase-3"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "AFErrUseCase-4" : {
                    "$ref" : "#/components/examples/AFErrUseCase-4"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "AFErrUseCase-5" : {
                    "$ref" : "#/components/examples/AFErrUseCase-5"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/financial-institution-identity" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Validates the instructed institution as financial institution.",
        "description" : "Validates if the instructed institution is registered in the SWIFT reference data as financial institution.\n",
        "operationId" : "getFinancialInstitutionIdentityValidationStatus",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT as SWIFT is performing the service, centrally. The x-bic value must be swhqbebb. \n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string"
          },
          "example" : "swhqbebb"
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace. Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FinancialInstitutionIdentityValidation1"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/FIReqUseCase-1"
                },
                "UseCase-2" : {
                  "$ref" : "#/components/examples/FIReqUseCase-2"
                },
                "UseCase-3" : {
                  "$ref" : "#/components/examples/FIReqUseCase-3"
                },
                "UseCase-4" : {
                  "$ref" : "#/components/examples/FIReqUseCase-4"
                },
                "UseCase-5" : {
                  "$ref" : "#/components/examples/FIReqUseCase-5"
                },
                "UseCase-6" : {
                  "$ref" : "#/components/examples/FIReqUseCase-6"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nRepresents the response details that the Financial Institution Identity validation service will provide to the service consumer.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FinancialInstitutionIdentityValidationStatus1"
                },
                "examples" : {
                  "UseCase-1" : {
                    "$ref" : "#/components/examples/FIResUseCase-1"
                  },
                  "UseCase-2" : {
                    "$ref" : "#/components/examples/FIResUseCase-2"
                  },
                  "UseCase-3" : {
                    "$ref" : "#/components/examples/FIResUseCase-3"
                  },
                  "UseCase-4" : {
                    "$ref" : "#/components/examples/FIResUseCase-4"
                  },
                  "UseCase-5" : {
                    "$ref" : "#/components/examples/FIResUseCase-5"
                  },
                  "UseCase-6" : {
                    "$ref" : "#/components/examples/FIResUseCase-6"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/purpose-code" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Validates the purpose code.",
        "description" : "This request validates the payment purpose code against the list of payment purpose codes available in the SWIFT referential data for the instructed country.\n",
        "operationId" : "getPaymentPurposeCodeValidationStatus",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT as SWIFT is performing the service, centrally. The x-bic value must be swhqbebb. \n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string"
          },
          "example" : "swhqbebb"
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace. Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaymentPurposeCodeValidation1"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/PCReqUseCase-1"
                },
                "UseCase-2" : {
                  "$ref" : "#/components/examples/PCReqUseCase-2"
                },
                "UseCase-3" : {
                  "$ref" : "#/components/examples/PCReqUseCase-3"
                },
                "UseCase-4" : {
                  "$ref" : "#/components/examples/PCReqUseCase-4"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nThis represents the response details that the Payment Purpose Code validation service will provide to the service consumer.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaymentPurposeCodeValidationStatus1"
                },
                "examples" : {
                  "UseCase-1" : {
                    "$ref" : "#/components/examples/PCResUseCase-1"
                  },
                  "UseCase-2" : {
                    "$ref" : "#/components/examples/PCResUseCase-2"
                  },
                  "UseCase-3" : {
                    "$ref" : "#/components/examples/PCResUseCase-3"
                  },
                  "UseCase-4" : {
                    "$ref" : "#/components/examples/PCResUseCase-4"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/payment-purpose" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Validates the payment purpose.",
        "description" : "This request validates the instructed information regarding the purpose of the payment (purpose code, purpose description) based on the specific requirements available in the SWIFT repository, for the instructed payment context (creditor country, creditor account currency and local payment market infrastructure).\n",
        "operationId" : "getPaymentPurposeValidationStatus",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT as SWIFT is performing the service, centrally. The x-bic value must be swhqbebb. \n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string"
          },
          "example" : "swhqbebb"
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace.Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaymentPurposeValidation1"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/PPReqUseCase-1"
                },
                "UseCase-2" : {
                  "$ref" : "#/components/examples/PPReqUseCase-2"
                },
                "UseCase-3" : {
                  "$ref" : "#/components/examples/PPReqUseCase-3"
                },
                "UseCase-4" : {
                  "$ref" : "#/components/examples/PPReqUseCase-4"
                },
                "UseCase-5" : {
                  "$ref" : "#/components/examples/PPReqUseCase-5"
                },
                "UseCase-6" : {
                  "$ref" : "#/components/examples/PPReqUseCase-6"
                },
                "UseCase-7" : {
                  "$ref" : "#/components/examples/PPReqUseCase-7"
                },
                "UseCase-8" : {
                  "$ref" : "#/components/examples/PPReqUseCase-8"
                },
                "UseCase-9" : {
                  "$ref" : "#/components/examples/PPReqUseCase-9"
                },
                "UseCase-10" : {
                  "$ref" : "#/components/examples/PPReqUseCase-10"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nThis represents the response details that the Payment Purpose validation service will provide to the service consumer.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaymentPurposeValidationStatus1"
                },
                "examples" : {
                  "UseCase-1" : {
                    "$ref" : "#/components/examples/PPResUseCase-1"
                  },
                  "UseCase-2" : {
                    "$ref" : "#/components/examples/PPResUseCase-2"
                  },
                  "UseCase-3" : {
                    "$ref" : "#/components/examples/PPResUseCase-3"
                  },
                  "UseCase-4" : {
                    "$ref" : "#/components/examples/PPResUseCase-4"
                  },
                  "UseCase-5" : {
                    "$ref" : "#/components/examples/PPResUseCase-5"
                  },
                  "UseCase-6" : {
                    "$ref" : "#/components/examples/PPResUseCase-6"
                  },
                  "UseCase-7" : {
                    "$ref" : "#/components/examples/PPResUseCase-7"
                  },
                  "UseCase-8" : {
                    "$ref" : "#/components/examples/PPResUseCase-8"
                  },
                  "UseCase-9" : {
                    "$ref" : "#/components/examples/PPResUseCase-9"
                  },
                  "UseCase-10" : {
                    "$ref" : "#/components/examples/PPResUseCase-10"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/category-purpose" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Validates the category purpose.",
        "description" : "This request validates the instructed category purpose code against the list of category purpose codes available in the SWIFT reference data for the instructed payment context (creditor country).\n",
        "operationId" : "getCategoryPurposeValidationStatus",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT as SWIFT is performing the service, centrally. The x-bic value must be swhqbebb. \n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string"
          },
          "example" : "swhqbebb"
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace.Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CategoryPurposeValidation1"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/CPReqUseCase-1"
                },
                "UseCase-2" : {
                  "$ref" : "#/components/examples/CPReqUseCase-2"
                },
                "UseCase-3" : {
                  "$ref" : "#/components/examples/CPReqUseCase-3"
                },
                "UseCase-4" : {
                  "$ref" : "#/components/examples/CPReqUseCase-4"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nThis represents the response details that the Category Purpose Validation service will provide to the service consumer.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CategoryPurposeValidationStatus1"
                },
                "examples" : {
                  "UseCase-1" : {
                    "$ref" : "#/components/examples/CPResUseCase-1"
                  },
                  "UseCase-2" : {
                    "$ref" : "#/components/examples/CPResUseCase-2"
                  },
                  "UseCase-3" : {
                    "$ref" : "#/components/examples/CPResUseCase-3"
                  },
                  "UseCase-4" : {
                    "$ref" : "#/components/examples/CPResUseCase-4"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/amount" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Validates the instructed amount.",
        "description" : "Validates the instructed amount against the requirements available in the SWIFT reference data for the instructed country and payment market infrastructure.\n",
        "operationId" : "getAmountValidationStatus",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT as SWIFT is performing the service, centrally. The x-bic value must be swhqbebb. \n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string"
          },
          "example" : "swhqbebb"
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace.Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AmountValidation1"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/AMReqUseCase-1"
                },
                "UseCase-2" : {
                  "$ref" : "#/components/examples/AMReqUseCase-2"
                },
                "UseCase-3" : {
                  "$ref" : "#/components/examples/AMReqUseCase-3"
                },
                "UseCase-4" : {
                  "$ref" : "#/components/examples/AMReqUseCase-4"
                },
                "UseCase-5" : {
                  "$ref" : "#/components/examples/AMReqUseCase-5"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nThis represents the response details that the Amount Validation service will provide to the service consumer.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AmountValidationStatus1"
                },
                "examples" : {
                  "UseCase-1" : {
                    "$ref" : "#/components/examples/AMResUseCase-1"
                  },
                  "UseCase-2" : {
                    "$ref" : "#/components/examples/AMResUseCase-2"
                  },
                  "UseCase-3" : {
                    "$ref" : "#/components/examples/AMResUseCase-3"
                  },
                  "UseCase-4" : {
                    "$ref" : "#/components/examples/AMResUseCase-4"
                  },
                  "UseCase-5" : {
                    "$ref" : "#/components/examples/AMResUseCase-5"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/eligibility-check" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Verify the payment for Rulebook eligibility and obtain payment predictability.",
        "description" : "This service validates whether the given payment information satisfies the Rulebook eligibility requirements for the payment. The validation happens on the amount and the currency and whether a valid route exists for the payment to be processed as per the applicable Rulebook.\n\nIn addition to validating payment information, this eligibility service also returns payment predictability information such as routing options and payment’s time to creditor, in order for financial institutions to support the payment originators and increase the predictability of the execution of payments. \n\nThis service supports SWIFT Go only.\n\nNote - The data in the request and response examples are fictitious.\n",
        "operationId" : "getEligibilityCheckStatus",
        "parameters" : [ {
          "name" : "x-bic",
          "in" : "header",
          "description" : "BIC of SWIFT as SWIFT is performing the service, centrally. The x-bic value must be swhqbebb. \n",
          "required" : true,
          "schema" : {
            "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
            "type" : "string"
          },
          "example" : "swhqbebb"
        }, {
          "name" : "X-Request-ID",
          "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace.Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.\n",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EligibilityCheck1"
              },
              "examples" : {
                "UseCase-1" : {
                  "$ref" : "#/components/examples/SWGoRequest1"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nRepresents the response that the eligibility service will provide to the service consumer.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EligibilityCheckStatus1"
                },
                "examples" : {
                  "success_single_route" : {
                    "$ref" : "#/components/examples/SWGoResponseScenario1"
                  },
                  "success_single_route_multiple_channels" : {
                    "$ref" : "#/components/examples/SWGoResponseScenario2"
                  },
                  "success_multiple_routes_multiple_channels" : {
                    "$ref" : "#/components/examples/SWGoResponseScenario3"
                  },
                  "failure_invalid_threshold_with_routes_found" : {
                    "$ref" : "#/components/examples/SWGoResponseScenario4"
                  },
                  "failure_invalid_threshold_with_no_routes_found" : {
                    "$ref" : "#/components/examples/SWGoResponseScenario5"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/payment/payment-instruction" : {
      "post" : {
        "tags" : [ "Payment Pre-validation" ],
        "summary" : "Validates the payment instruction.",
        "description" : "This service validates various elements of the payment instruction whether it is a partial or complete payment instruction. And provides a comprehensive response with the result of the individual validations performed as well as the overall result of the validation.\n",
        "operationId" : "getPaymentInstructionValidation",
        "parameters" : [ {
          "$ref" : "#/components/parameters/x-bic"
        }, {
          "$ref" : "#/components/parameters/X-Request-ID"
        } ],
        "requestBody" : {
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaymentInstruction"
              },
              "examples" : {
                "payment-validation-with-ALL-VALID-result" : {
                  "$ref" : "#/components/examples/PayValReq1"
                },
                "payment-validation-with-WARNING-result" : {
                  "$ref" : "#/components/examples/PayValReq2"
                },
                "payment-validation-corridor-with-payment-purpose-mandatory-ERROR-result" : {
                  "$ref" : "#/components/examples/PayValReq3"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK\n\nRepresents the response that the payment instruction validation service will provide to the service consumer.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaymentInstructionValidation"
                },
                "examples" : {
                  "payment-validation-with-ALL-VALID-result" : {
                    "$ref" : "#/components/examples/PayValRes1"
                  },
                  "payment-validation-with-WARNING-result" : {
                    "$ref" : "#/components/examples/PayValRes2"
                  },
                  "payment-validation-corridor-with-payment-purpose-mandatory-ERROR-result" : {
                    "$ref" : "#/components/examples/PayValRes3"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_invalid_token" : {
                    "$ref" : "#/components/examples/InvalidToken"
                  },
                  "scenario_insufficient_scope" : {
                    "$ref" : "#/components/examples/InsufficientScope"
                  },
                  "scenario_service_not_provisioned" : {
                    "$ref" : "#/components/examples/ServiceNotProvisioned"
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/Forbidden"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/NotFound"
                  }
                }
              }
            }
          },
          "406" : {
            "description" : "Not Acceptable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "Forbidden" : {
                    "$ref" : "#/components/examples/NotAcceptable"
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "scenario_not_found" : {
                    "$ref" : "#/components/examples/TooManyRequest"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "InternalServerError" : {
                    "$ref" : "#/components/examples/InternalServerError"
                  }
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "ServiceUnavailable" : {
                    "$ref" : "#/components/examples/ServiceUnavailable"
                  }
                }
              }
            }
          },
          "504" : {
            "description" : "Gateway Timeout",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "GatewayTimeout" : {
                    "$ref" : "#/components/examples/GatewayTimeout"
                  }
                }
              }
            }
          },
          "default" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorMessage"
                },
                "examples" : {
                  "DefaultError" : {
                    "$ref" : "#/components/examples/DefaultError"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "AccountFormatValidation1" : {
        "type" : "object",
        "description" : "This represents the details of Account Format Validation service\nrequest.\n",
        "additionalProperties" : false,
        "properties" : {
          "account_identification" : {
            "$ref" : "#/components/schemas/Max34Text"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          },
          "financial_institution_identification" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "required" : [ "account_identification" ]
      },
      "AccountFormatValidationCheck1" : {
        "type" : "object",
        "description" : "Details the outcome of each individual account format validation\ncheck.\n",
        "additionalProperties" : false,
        "properties" : {
          "code" : {
            "$ref" : "#/components/schemas/AccountFormatValidationCheck1Code"
          },
          "status" : {
            "$ref" : "#/components/schemas/AccountFormatValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AccountFormatValidationReason1Code"
            }
          }
        },
        "required" : [ "code", "status", "reason" ]
      },
      "AccountFormatValidationCheck1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers for the individual account format validation checks.\n\n`BBFI_bban_and_financial_institution_check`-The unique identifier of the individual account format validation check that determines if the format of the instructed account is the BBAN format used by the instructed financial institution.\n\n`DOCO_domestic_bank_specific_account_and_country_check`-The unique identifier of the individual account format validation check that determines if the format of the instructed account matches the domestic, bank specific format rules identified in the instructed country.\n\n`DOFI_domestic_bank_specific_account_and_financial_institution_check`-The  unique identifier of the individual account format validation check that determines if the format of the instructed account matches  the domestic, bank specific format used by the instructed financial institution, in its country. The country of the financial institution can only be determined when the instructed financial institution is identified by BIC 8 or BIC 11, otherwise this individual account format validation check can not be performed.\n\n`IBCO_iban_and_country_check`-The unique identifier of the individual account format validation check that determines if the format of the instructed account is the IBAN format used in the instructed country.\n\n`IBFI_iban_and_financial_institution_check`-The unique identifier of the individual account format validation check that determines if the format of the instructed account is the IBAN format used by the instructed financial institution.\n\n`IBAN_iban_check`-The unique identifier of the individual account format validation check that determines if the format of the instructed account is an IBAN format.\n\n`DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check`-The unique identifier of the individual account format validation check that determines if the format of the instructed account matches the domestic, bank specific format used by the instructed financial institution, in the instructed country. This individual account format validation check can be performed irrespective of the nature of financial institution identifier, if this is a BIC 8, BIC 11 or Clearing System Member Identifier.\n\n`BBCO_bban_and_country_check`-The unique identifier of the individual account format validation check that determines if the format of the instructed account is the BBAN format used in the instructed country.\n",
        "enum" : [ "BBFI_bban_and_financial_institution_check", "DOCO_domestic_bank_specific_account_and_country_check", "DOFI_domestic_bank_specific_account_and_financial_institution_check", "IBCO_iban_and_country_check", "IBFI_iban_and_financial_institution_check", "IBAN_iban_check", "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check", "BBCO_bban_and_country_check" ]
      },
      "AccountFormatValidationReason1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the reasons for Account Format validation status. \n\n`VIBN_valid_iban`-The instructed account identifier subject to account format validation has a valid IBAN format for the instructed payment context.\n\n`VDOM_valid_domestic_bank_specific`-The instructed account identifier subject to account format validation has a valid domestic, bank specific format  (national domestic standard or bank specific standard) for the instructed payment context.\n\n`VBBN_valid_bban`-The instructed account identifier subject to account format validation has a valid Basic Bank Account Number (BBAN) format for the instructed payment context.\n\n`MCTY_missing_country_code`-Country code is missing from the payment context in order for the validation of the instructed payment information to be performed. \n\n`IIBN_invalid_iban`-The instructed account identifier subject to account format validation does not have a valid IBAN format for the instructed payment context.\n\n`IDOM_invalid_domestic_bank_specific`-The instructed account identifier subject to account format validation does not have a valid domestic, bank specific format  (nor national domestic standard nor bank specific standard) for the instructed payment context.\n\n`IBBN_invalid_bban`-The instructed account identifier subject to account format validation does not have a valid Basic Bank Account Number (BBAN) format for the instructed payment context.\n\n`IFIN_inconsistent_financial_institution_identification`-The instructed financial institution identifier does not match the  financial institution that owns the account that is the subject to the account format validation. \n\n`INCT_inconsistent_country`-The instructed country code does not match the country of the payment information that is subject to validation.\n\n`CFIN_consistent_financial_institution_identification`-The instructed financial institution matches the  financial institution that uses the account format of the instructed account.\n\n`CCTY_consistent_country`-The instructed country code matches the country of the payment information that is subject to validation. \n\n`AINP_account_data_collection_in_progress`-SWIFT account format data coverage index indicates that the account data collection process is in progress ( below 90% level of completion).\n\n`ICCH_check_not_applied`-The individual payment validation check has not been applied for the instructed context. Other individual payment validation checks are more relevant and will be applied instead.\n\n`UCSM_unrecognized_clearing_system_member_identification`-The instructed financial institution identifier subject to financial institution identity validation has not been found in the SWIFT directory for the instructed payment context. \n\n`IBIC_invalid_bic`-The instructed financial institution identifier subject to financial institution identity validation is not a valid BIC for the instructed payment context.\n\n`ICTY_invalid_country`-Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)\n\n`MFIN_missing_financial_institution_identifier`-Financial Institution Identifier is missing from the payment context in order for the validation of the instructed payment information to be performed.\n",
        "enum" : [ "VIBN_valid_iban", "VDOM_valid_domestic_bank_specific", "VBBN_valid_bban", "MCTY_missing_country_code", "IIBN_invalid_iban", "IDOM_invalid_domestic_bank_specific", "IBBN_invalid_bban", "IFIN_inconsistent_financial_institution_identification", "INCT_inconsistent_country", "CFIN_consistent_financial_institution_identification", "CCTY_consistent_country", "AINP_account_data_collection_in_progress", "ICCH_check_not_applied", "UCSM_unrecognized_clearing_system_member_identification", "IBIC_invalid_bic", "ICTY_invalid_country", "MFIN_missing_financial_institution_identifier" ]
      },
      "AccountFormatValidationStatus1" : {
        "type" : "object",
        "description" : "This represents the response details that the Account Format validation\nservice will provide to the service consumer.\n",
        "additionalProperties" : false,
        "properties" : {
          "account_identification" : {
            "$ref" : "#/components/schemas/AccountIdentification4Choice"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          },
          "financial_institution_identification" : {
            "$ref" : "#/components/schemas/FinancialInstitutionIdentification24"
          },
          "status" : {
            "$ref" : "#/components/schemas/AccountFormatValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AccountFormatValidationReason1Code"
            }
          },
          "validation_check" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AccountFormatValidationCheck1"
            }
          }
        },
        "required" : [ "status", "reason", "validation_check" ]
      },
      "AccountFormatValidationStatus1Code" : {
        "type" : "string",
        "description" : "The list of unique status identifiers for the Account Format Validation service.\n\n`CVAL_valid_with_comments`-The payment information instructed for validation  is valid but the instructed payment context can be further improved.\n\n`NAVL_not_available`-The validation of the instructed payment information is not available in the instructed payment context, typically due to payment data collection process being in progress and insufficient data coverage. \n\n`IVAL_invalid`-The payment information instructed for validation it is not valid in the instructed payment context. \n\n`CNPR_could_not_perform`-The validation of the instructed payment information could not be performed in the instructed payment context typically due to missing payment context information.\n\n`FVAL_valid`-The payment information instructed for validation it is valid in the instructed payment context. \n\n`NOAP_not_applicable`-The validation of the instructed payment information has not been applied because didn't make sense for the given context.\n",
        "enum" : [ "CVAL_valid_with_comments", "NAVL_not_available", "IVAL_invalid", "CNPR_could_not_perform", "FVAL_valid", "NOAP_not_applicable" ]
      },
      "AccountIdentification4Choice" : {
        "type" : "object",
        "description" : "Specifies the unique identification of an account as assigned by\nthe account servicer.\n",
        "additionalProperties" : false,
        "properties" : {
          "iban" : {
            "$ref" : "#/components/schemas/IBAN2007Identifier"
          },
          "other" : {
            "$ref" : "#/components/schemas/GenericAccountIdentification1"
          }
        },
        "oneOf" : [ {
          "required" : [ "iban" ]
        }, {
          "required" : [ "other" ]
        } ]
      },
      "AccountSchemeName1Choice" : {
        "type" : "object",
        "description" : "Sets of elements to identify a name of the identification scheme.\n",
        "additionalProperties" : false,
        "properties" : {
          "code" : {
            "$ref" : "#/components/schemas/ExternalAccountIdentification1Code"
          },
          "proprietary" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "oneOf" : [ {
          "required" : [ "code" ]
        }, {
          "required" : [ "proprietary" ]
        } ]
      },
      "AccountType2Code" : {
        "type" : "string",
        "description" : "`PRIV`-This account is registered for private usage\n\n`BUSI`-This account is registered for business usage.\n",
        "enum" : [ "PRIV", "BUSI" ]
      },
      "AccountValidationCheckContext1Code" : {
        "type" : "string",
        "description" : ">\n*`BENR`-Request is in the scope of a beneficiary registration validation.\n*`PAYM`-Request is in the scope of the payment initiation.\n*`RFPP`-Request is in the scope of a request for a payment initiation.\n",
        "enum" : [ "BENR", "PAYM", "RFPP" ]
      },
      "AccountValidationResponse1Code" : {
        "type" : "string",
        "description" : "`MTCH`-Matched validation check.\n\n`NMTC`-Unmatched validation check.\n\n`NOAP`-Validation check is not applicable.\n\n`NOTC`-Validation check has not been carried out.",
        "enum" : [ "MTCH", "NMTC", "NOAP", "NOTC" ]
      },
      "AccountValidationResponse2Code" : {
        "type" : "string",
        "description" : "`MTCH`-Matched creditor account.\n\n`NMTC`-No match for creditor account.\n",
        "enum" : [ "MTCH", "NMTC" ]
      },
      "AccountValidationResponse3Code" : {
        "type" : "string",
        "description" : "`FAIL`-The account identification provided was not successfully validated to an account that can receive funds.\n\n`INCO`-The account identification provided was successfully validated to an account that can receive funds, however, some additional account checks will be performed at transaction time.\n\n`PASS`-The account identification was successfully validated to an account that can receive funds.\n\n`WARN`-The account identification was not successfully validated to an account that can receive funds, however, the responder lacks some information to provide a definite answer.\n",
        "enum" : [ "FAIL", "INCO", "PASS", "WARN" ]
      },
      "AccountValidationResponse4Code" : {
        "type" : "string",
        "description" : "`MTCH`-Matched validation check.\n\n`MBAM`-The beneficiary bank has determined that the provided creditor name closely resembles the account holder name. However, it is not an exact match. The beneficiary bank can choose to disclose the actual account holder name for the payment sender to verify or update its records.\n\n`NMTC`-Unmatched validation check.\n\n`NOAP`-Validation check is not applicable.\n\n`NOTC`-Validation check has not been carried out.\n",
        "enum" : [ "MTCH", "MBAM", "NMTC", "NOAP", "NOTC" ]
      },
      "AccountValidationSource1Code" : {
        "type" : "string",
        "description" : "`ACSV`-The responder is the financial institution servicing this account, basing its decision on its account holding system.\n\n`HIST`-The responder is SWIFT, basing its decision on SWIFT past transactions (successful or failed) made to this account.\n\n`OBSP`-The responder is a third-party system to which the account servicer delegated implementation of the API, basing its decision on data fed by the account servicer. The data feed frequency can vary from one implementation to another.\n",
        "enum" : [ "ACSV", "HIST", "OBSP" ]
      },
      "AccountVerificationRequest" : {
        "type" : "object",
        "description" : "Beneficiary account verification request.",
        "additionalProperties" : false,
        "properties" : {
          "correlation_identifier" : {
            "$ref" : "#/components/schemas/Max50Text"
          },
          "context" : {
            "$ref" : "#/components/schemas/AccountValidationCheckContext1Code"
          },
          "uetr" : {
            "$ref" : "#/components/schemas/UUIDv4Identifier"
          },
          "creditor_account" : {
            "$ref" : "#/components/schemas/Max34Text"
          },
          "creditor_name" : {
            "$ref" : "#/components/schemas/Max140Text"
          },
          "creditor_address" : {
            "$ref" : "#/components/schemas/PostalAddress24"
          },
          "creditor_organisation_identification" : {
            "$ref" : "#/components/schemas/OrganisationIdentification8"
          },
          "creditor_agent" : {
            "$ref" : "#/components/schemas/FinancialInstitutionIdentification20"
          },
          "creditor_agent_branch_identification" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "required" : [ "context", "creditor_account", "creditor_name" ]
      },
      "AccountVerificationResponse1" : {
        "type" : "object",
        "description" : "Get Account Details Response",
        "additionalProperties" : false,
        "properties" : {
          "correlation_identifier" : {
            "$ref" : "#/components/schemas/Max50Text"
          },
          "response" : {
            "$ref" : "#/components/schemas/ValidationCheckResponse2"
          }
        },
        "required" : [ "response" ]
      },
      "ActiveCurrencyAndAmount" : {
        "type" : "object",
        "description" : "A number of monetary units specified in an active currency where\nthe unit of currency is explicit and compliant with ISO 4217.\n",
        "additionalProperties" : false,
        "properties" : {
          "currency" : {
            "$ref" : "#/components/schemas/ActiveCurrencyCode"
          },
          "amount" : {
            "type" : "string",
            "maxLength" : 18,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|0*|([0-9]{0,18}))$"
          }
        }
      },
      "ActiveCurrencyCode" : {
        "type" : "string",
        "pattern" : "^[A-Z]{3,3}$",
        "description" : "A code allocated to a currency by a Maintenance Agency under\nan international identification scheme as described in the latest edition\nof the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n"
      },
      "AddressType2Code" : {
        "type" : "string",
        "description" : "Specifies the type of address.\n\n`ADDR`-Address is the complete postal address.\n\n`PBOX`-Address is a postal office (PO) box.\n\n`HOME`-Address is the home address.\n\n`BIZZ`-Address is the business address.\n\n`MLTO`-Address is the address to which mail is sent.\n\n`DLVY`-Address is the address to which delivery is to take place.",
        "enum" : [ "ADDR", "PBOX", "HOME", "BIZZ", "MLTO", "DLVY" ]
      },
      "AddressType3Choice" : {
        "type" : "object",
        "description" : "Choice of formats for the type of address.\n",
        "additionalProperties" : false,
        "properties" : {
          "code" : {
            "$ref" : "#/components/schemas/AddressType2Code"
          },
          "proprietary" : {
            "$ref" : "#/components/schemas/GenericIdentification30"
          }
        },
        "oneOf" : [ {
          "required" : [ "code" ]
        }, {
          "required" : [ "proprietary" ]
        } ]
      },
      "Amount3" : {
        "type" : "object",
        "description" : "Amount and currency to be transferred in the transaction.\n",
        "additionalProperties" : false,
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/AmountText"
          },
          "currency" : {
            "$ref" : "#/components/schemas/ActiveCurrencyCode"
          }
        },
        "required" : [ "value", "currency" ],
        "example" : {
          "value" : "5",
          "currency" : "USD"
        }
      },
      "AmountText" : {
        "type" : "string",
        "description" : "Amount as text that will be validated by the Payment Pre-Validation API services.\n",
        "maxLength" : 20,
        "pattern" : "^^-?0*(([0-9]{0,5}[\\,\\.][0-9]{1,13})|([0-9]{0,6}[\\,\\.][0-9]{1,12})|([0-9]{0,7}[\\,\\.][0-9]{1,11})|([0-9]{0,8}[\\,\\.][0-9]{1,10})|([0-9]{0,9}[\\,\\.][0-9]{1,9})|([0-9]{0,10}[\\,\\.][0-9]{1,8})|([0-9]{0,11}[\\,\\.][0-9]{1,7})|([0-9]{0,12}[\\,\\.][0-9]{1,6})|([0-9]{0,13}[\\,\\.][0-9]{1,5})|([0-9]{0,14}[\\,\\.][0-9]{1,4})|([0-9]{0,15}[\\,\\.][0-9]{1,3})|([0-9]{0,16}[\\,\\.][0-9]{1,2})|([0-9]{0,17}[\\,\\.][0-9]{1,1})0*|([0-9]{0,18}))$$",
        "example" : {
          "value" : "3500,345"
        }
      },
      "AmountValidation1" : {
        "type" : "object",
        "description" : "Represents the details of Amount Validation service request.\n",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "$ref" : "#/components/schemas/AmountText"
          },
          "currency_code" : {
            "$ref" : "#/components/schemas/ActiveCurrencyCode"
          },
          "clearing_system_identification" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "required" : [ "amount", "currency_code" ]
      },
      "AmountValidationReason1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers to describe the reasons for Amount validation status. \n\n`DBCD_amount_decimals_match_currency_decimals`-Instructed amount has a number of decimals that matches exactly the number of decimals advised for the instructed currency.\n\n`DACD_amount_decimals_do_not_match_currency_decimals`-Instructed amount has a number of decimals that is different from the number of decimals advised for the instructed currency.\n\n`ABLP_amount_below_pmi_limit_per_payment`-The instructed amount subject to validation is below the per-transaction limit imposed by the instructed PMI (Payment Market Infrastructure). \n\n`AALP_amount_above_pmi_limit_per_payment`-The instructed amount subject to validation has exceeded the per-transaction limit imposed by the instructed PMI (Payment Market Infrastructure). \n\n`ICCY_invalid_currency_code`-Instructed currency code is not a valid ISO currency code.\n\n`UCSI_unrecognized_clearing_system_identification`-Instructed clearing system identifier has not been found in the SWIFT directory for the instructed payment context. \n\n`PMIP_pmi_data_collection_in_progress`-SWIFT is in the process of collecting additional data with regards to the instructed Payment Market Infrastructure. \n`AWPL_amount_within_pmi_limits`-The instructed amount subject to validation is within the per-transaction limits imposed by the instructed context.\n",
        "enum" : [ "DBCD_amount_decimals_match_currency_decimals", "DACD_amount_decimals_do_not_match_currency_decimals", "ABLP_amount_below_pmi_limit_per_payment", "AALP_amount_above_pmi_limit_per_payment", "ICCY_invalid_currency_code", "UCSI_unrecognized_clearing_system_identification", "PMIP_pmi_data_collection_in_progress", "AWPL_amount_within_pmi_limits" ]
      },
      "AmountValidationStatus1" : {
        "type" : "object",
        "description" : "This represents the response details that the Amount Validation\nservice will provide to the service consumer.\n",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/AmountValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AmountValidationReason1Code"
            }
          },
          "amount" : {
            "$ref" : "#/components/schemas/ActiveCurrencyAndAmount"
          },
          "clearing_system_identification" : {
            "$ref" : "#/components/schemas/ClearingSystemIdentification2Choice"
          }
        },
        "required" : [ "status", "reason" ]
      },
      "AmountValidationStatus1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers to describe the status of the Amount validation.\n\n`FVAL_valid`-The payment information instructed for validation it is valid in the instructed payment context. \n\n`CVAL_valid_with_comments`-The payment information instructed for validation  is valid but the instructed payment context can be further improved.\n\n`IVAL_invalid`-The payment information instructed for validation it is not valid in the instructed payment context.\n\n`CNPR_could_not_perform`-The validation of the instructed payment information could not be performed in the instructed payment context typically due to missing payment context information.\n\n`NAVL_not_available`-The validation of the instructed payment information is not available in the instructed payment context, typically due to payment data collection process being in progress and insufficient data coverage.\n",
        "enum" : [ "FVAL_valid", "CVAL_valid_with_comments", "IVAL_invalid", "CNPR_could_not_perform", "NAVL_not_available" ]
      },
      "AnyBICIdentifier" : {
        "type" : "string",
        "description" : "Code allocated to a financial or non-financial institution by the\nISO 9362 Registration Authority, as described in ISO 9362 \"Banking - Banking\ntelecommunication messages - Business identifier code (BIC)\".\n",
        "pattern" : "^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$"
      },
      "BICFIDec2014Identifier" : {
        "type" : "string",
        "description" : "Code allocated to a financial institution by the ISO 9362 Registration\nAuthority as described in ISO 9362: 2014 - \"Banking - Banking telecommunication  messages - Business identifier code (BIC)\".\n",
        "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
      },
      "BranchAndFinancialInstitutionIdentification8" : {
        "type" : "object",
        "description" : "Unique and unambiguous identification of a financial institution or a branch of a financial institution.\n",
        "additionalProperties" : false,
        "properties" : {
          "financial_institution_identification" : {
            "$ref" : "#/components/schemas/FinancialInstitutionIdentification24"
          },
          "branch_identification" : {
            "$ref" : "#/components/schemas/BranchData3"
          },
          "contact_data" : {
            "$ref" : "#/components/schemas/Contact10"
          },
          "connectivity_data" : {
            "$ref" : "#/components/schemas/GenericConnectivityChoice"
          },
          "office_type" : {
            "$ref" : "#/components/schemas/Max4Text"
          }
        },
        "required" : [ "financial_institution_identification" ]
      },
      "BranchData3" : {
        "type" : "object",
        "description" : "Information that locates and identifies a specific branch of a financial institution.\n",
        "additionalProperties" : false,
        "properties" : {
          "identification" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "lei" : {
            "$ref" : "#/components/schemas/LEIIdentifier"
          },
          "name" : {
            "$ref" : "#/components/schemas/Max140Text"
          },
          "postal_address" : {
            "$ref" : "#/components/schemas/PostalAddress24"
          }
        }
      },
      "CategoryPaymentValidationReason1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the reasons for Category Purpose Code validation status. \n\n`UPCP_unrecognized_category_purpose`-The instructed payment category purpose subject to validation could not be found in the payment category purpose data available in the SWIFT repository for the instructed payment context.\n\n`VPCP_valid_category_purpose`-The instructed payment category purpose subject has been successfully validated for the instructed payment context.\n\n`ICTY_invalid_country`-Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)\n\n`CINP_no_category_purpose_data_available`-No category purpose data available in the SWIFT repository for the instructed context. This may relate to the country specific requirements not mandating category purpose codes for the instructed context.\n",
        "enum" : [ "UPCP_unrecognized_category_purpose", "VPCP_valid_category_purpose", "ICTY_invalid_country", "CINP_no_category_purpose_data_available" ]
      },
      "CategoryPurposeValidation1" : {
        "type" : "object",
        "description" : "This represents the details of Category Purpose Validation service request.\n",
        "additionalProperties" : false,
        "properties" : {
          "category_purpose_code" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          }
        },
        "required" : [ "category_purpose_code", "country_code" ]
      },
      "CategoryPurposeValidationStatus1" : {
        "type" : "object",
        "description" : "This represents the response details that the Category Purpose Validation service will provide to the service consumer.\n",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/CategoryPurposeValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CategoryPaymentValidationReason1Code"
            }
          },
          "category_purpose_code" : {
            "$ref" : "#/components/schemas/GenericCodeIdentification1"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          }
        },
        "required" : [ "status", "reason" ]
      },
      "CategoryPurposeValidationStatus1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the status of the Category Purpose validation.\n\n`FVAL_valid`-The payment information instructed for validation it is valid in the instructed payment context.\n\n`UNRE_unrecognised`-The payment information instructed for validation has not been found in the SWIFT repository for the instructed payment context.\n\n`NAVL_not_available`-The validation of the instructed payment information is not available in the instructed payment context, typically due to payment data collection process being in progress and insufficient data coverage.\n\n`CNPR_could_not_perform`-The validation of the instructed payment information could not be performed in the instructed payment context typically due to missing payment context information.\n",
        "enum" : [ "FVAL_valid", "UNRE_unrecognised", "NAVL_not_available", "CNPR_could_not_perform" ]
      },
      "ClearingSystemIdentification2Choice" : {
        "type" : "object",
        "description" : "Choice of a clearing system identifier.",
        "additionalProperties" : true,
        "oneOf" : [ {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "code" : {
              "$ref" : "#/components/schemas/ExternalClearingSystemIdentification1Code"
            }
          },
          "required" : [ "code" ]
        }, {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "proprietary" : {
              "$ref" : "#/components/schemas/Max35Text"
            }
          },
          "required" : [ "proprietary" ]
        } ]
      },
      "ClearingSystemMemberIdentification2" : {
        "type" : "object",
        "description" : "Unique identification, as assigned by a clearing system, to unambiguously identify a member of the clearing system.\n",
        "additionalProperties" : false,
        "properties" : {
          "clearing_system_identification" : {
            "$ref" : "#/components/schemas/ClearingSystemIdentification2Choice"
          },
          "member_identification" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "required" : [ "member_identification" ]
      },
      "Contact10" : {
        "type" : "object",
        "description" : "Specifies the details of a contact person.",
        "additionalProperties" : false,
        "properties" : {
          "phone_number" : {
            "$ref" : "#/components/schemas/PhoneNumber"
          },
          "mobile_number" : {
            "$ref" : "#/components/schemas/PhoneNumber"
          },
          "fax_number" : {
            "$ref" : "#/components/schemas/PhoneNumber"
          },
          "email_address" : {
            "$ref" : "#/components/schemas/Max2048Text"
          },
          "url" : {
            "$ref" : "#/components/schemas/Max256Text"
          }
        }
      },
      "CountryCode" : {
        "type" : "string",
        "pattern" : "^[A-Z]{2,2}$",
        "description" : "Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n"
      },
      "DataProviderDetails1" : {
        "type" : "object",
        "description" : "Identification of the Data Provider for the Payment Pre-validation services, with details about the Data Provider implementation.\n",
        "additionalProperties" : false,
        "properties" : {
          "institution_identification" : {
            "$ref" : "#/components/schemas/DataProviderIdentification1"
          },
          "implementation_details" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DataProviderImplementation1"
            }
          }
        },
        "required" : [ "institution_identification", "implementation_details" ]
      },
      "DataProviderEnvironment" : {
        "type" : "string",
        "description" : "Indicates the environment where the Data Provider for Payment Pre-validation Data Provider API services is implemented.\n\n`PILO_pilot`-Environment where the Data Provider is carrying Payment Pre-validation Data Provider API test and training activities.\n\n`LIVE_live`-Environment where the Data Provider is live with Payment Pre-validation Data Provider API services.\n",
        "enum" : [ "PILO_pilot", "LIVE_live" ]
      },
      "DataProviderIdentification1" : {
        "type" : "object",
        "description" : "Identification of the Data Provider for the Payment Pre-validation services",
        "additionalProperties" : false,
        "properties" : {
          "bicfi" : {
            "$ref" : "#/components/schemas/BICFIDec2014Identifier"
          },
          "name" : {
            "$ref" : "#/components/schemas/Max140Text"
          }
        },
        "required" : [ "bicfi" ]
      },
      "DataProviderIdentityValidation1" : {
        "type" : "object",
        "description" : "Represents the details of Data Provider Identity validation service request.",
        "additionalProperties" : false,
        "properties" : {
          "bic_institution" : {
            "$ref" : "#/components/schemas/BICFIDec2014Identifier"
          },
          "implementation_details" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DataProviderImplementation1"
            }
          }
        }
      },
      "DataProviderIdentityValidationReason1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the reasons for the Data Provider Identity validation status. \n\n`BNRD_bic_not_registered_as_data_provider`-BIC of the instructed institution is not registered as Payment Pre-validation Data Provider.\n\n`BRDD_bic_not_registered_with_these_details_as_data_provider`-BIC of the instructed institution is not registered with these details as Payment Pre-validation Data Provider. \n\n`BRDP_bic_registered_as_data_provider`-BIC of the instructed institution is registered as Payment Pre-validation Data Provider.\n\n`MITV_missing_bic`-No BIC instructed for validation.\n",
        "enum" : [ "BNRD_bic_not_registered_as_data_provider", "BRDD_bic_not_registered_with_these_details_as_data_provider", "BRDP_bic_registered_as_data_provider", "MITV_missing_bic" ]
      },
      "DataProviderIdentityValidationStatus1" : {
        "type" : "object",
        "description" : "Represents the response details that the Data Provider Identity validation service will provide to the service consumer (the \"User\").\n",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/DataProviderIdentityValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DataProviderIdentityValidationReason1Code"
            }
          },
          "registered_data_provider" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DataProviderRegistration1"
            }
          }
        },
        "required" : [ "status", "reason" ]
      },
      "DataProviderIdentityValidationStatus1Code" : {
        "type" : "string",
        "description" : "The list of unique status identifiers for the Data Provider Identity validation service. \n\n`CNPR_could_not_perform`-The validation of the instructed payment information could not be performed in the instructed payment context typically due to missing payment context information.\n\n`IVAL_invalid`-The payment information instructed for validation it is not valid in the instructed payment context. \n\n`FVAL_valid`-The payment information instructed for validation it is valid in the instructed payment context.\n",
        "enum" : [ "CNPR_could_not_perform", "IVAL_invalid", "FVAL_valid" ]
      },
      "DataProviderImplementation1" : {
        "type" : "object",
        "description" : "Provides details about the implementation of the Data Provider for the Payment Pre-validation Data Provider API services.\n",
        "additionalProperties" : false,
        "properties" : {
          "environment" : {
            "$ref" : "#/components/schemas/DataProviderEnvironment"
          },
          "status" : {
            "$ref" : "#/components/schemas/DataProviderStatus"
          }
        },
        "required" : [ "environment", "status" ]
      },
      "DataProviderRegistration1" : {
        "type" : "object",
        "description" : "Details about the registration of an institution as Payment Pre-validation data provider.\n",
        "additionalProperties" : false,
        "properties" : {
          "data_provider_details" : {
            "$ref" : "#/components/schemas/DataProviderDetails1"
          },
          "related_institution" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DataProviderDetails1"
            }
          }
        }
      },
      "DataProviderStatus" : {
        "type" : "string",
        "description" : "Implementation status for the Data Provider on the Payment Pre-validation Data Provider services,\n\n`ACTI_active`-Data Provider implementation of Payment Pre-validation Data Provider API services is active in the specified environment. \n\n`INAC_inactive`-Data Provider implementation of Payment Pre-validation Data Provider services has is not in the specified environment.\n",
        "enum" : [ "ACTI_active", "INAC_inactive" ]
      },
      "EligibilityCheck1" : {
        "type" : "object",
        "description" : "Represents the request details that the Eligibility service consumer will provide.\n",
        "additionalProperties" : false,
        "properties" : {
          "requestor_agent" : {
            "$ref" : "#/components/schemas/FinancialInstitutionIdentification20"
          },
          "creditor_agent" : {
            "$ref" : "#/components/schemas/FinancialInstitutionIdentification20"
          },
          "amount" : {
            "$ref" : "#/components/schemas/Amount3"
          },
          "route_sorting" : {
            "$ref" : "#/components/schemas/RouteSorting1"
          }
        },
        "required" : [ "requestor_agent", "creditor_agent", "amount" ]
      },
      "EligibilityCheckStatus1" : {
        "type" : "object",
        "description" : "Represents the response that the Eligibility service will provide to the service consumer.\n",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/Max4Text"
          },
          "threshold" : {
            "$ref" : "#/components/schemas/SwiftGoPaymentThresholdStatus1"
          },
          "routes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SwiftGoRoutes1"
            }
          }
        },
        "required" : [ "status", "threshold" ],
        "example" : {
          "status" : "FVAL",
          "threshold" : {
            "amount" : {
              "value" : "5"
            }
          },
          "routes" : {
            "servicing_agent" : {
              "clearing_system_member_identification" : {
                "clearing_system_identification" : { }
              }
            },
            "channel" : {
              "type" : "FPMI",
              "id" : "TGT",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            },
            "estimated_time_to_creditor_minutes" : {
              "minimum" : "1",
              "average" : "10",
              "maximum" : "150"
            },
            "minimum_number_of_agents_involved" : "3"
          }
        }
      },
      "EstimatedTimeToCreditor1" : {
        "type" : "object",
        "description" : "Estimated time (in minutes) to creditor account computed using statistics.",
        "additionalProperties" : false,
        "properties" : {
          "minimum" : {
            "$ref" : "#/components/schemas/nonNegativeInteger"
          },
          "average" : {
            "$ref" : "#/components/schemas/nonNegativeInteger"
          },
          "maximum" : {
            "$ref" : "#/components/schemas/nonNegativeInteger"
          }
        },
        "required" : [ "minimum", "average", "maximum" ],
        "example" : {
          "minimum" : "1",
          "average" : "10",
          "maximum" : "150"
        }
      },
      "Exact3AlphaNumericText" : {
        "type" : "string",
        "description" : "Specifies an alphanumeric string with a length of exact 3 characters.\n",
        "pattern" : "^[a-zA-Z0-9]{3}$"
      },
      "Exact4AlphaNumericText" : {
        "type" : "string",
        "description" : "Specifies an alphanumeric string with a length of 4 characters.\n",
        "pattern" : "^[a-zA-Z0-9]{4}$"
      },
      "ExternalAccountIdentification1Code" : {
        "type" : "string",
        "minLength" : 1,
        "maxLength" : 4,
        "description" : "Specifies the external account identification scheme name code in the format of character string with a maximum length of 4 characters. The list of valid codes is an external code list published separately. External code sets can be downloaded from www.iso20022.org.\n"
      },
      "ExternalClearingSystemIdentification1Code" : {
        "type" : "string",
        "minLength" : 1,
        "maxLength" : 5,
        "description" : "Specifies the clearing system identification code, as published in an external clearing system identification code list. External code sets can be downloaded from www.iso20022.org.\n"
      },
      "ExternalOrganisationIdentification1Code" : {
        "type" : "string",
        "minLength" : 1,
        "maxLength" : 4,
        "description" : "Specifies the external organisation identification scheme name code in the format of character string with a maximum length of 4 characters. The list of valid codes is an external code list published separately. External code sets can be downloaded from www.iso20022.org.\n"
      },
      "FinancialInstitutionIdentification20" : {
        "type" : "object",
        "description" : "Set of elements used to identify a financial institution.",
        "additionalProperties" : false,
        "properties" : {
          "bicfi" : {
            "$ref" : "#/components/schemas/BICFIDec2014Identifier"
          },
          "clearing_system_member_identification" : {
            "$ref" : "#/components/schemas/ClearingSystemMemberIdentification2"
          }
        }
      },
      "FinancialInstitutionIdentification24" : {
        "type" : "object",
        "description" : "Specifies the details to identify a financial institution.",
        "additionalProperties" : false,
        "properties" : {
          "bicfi" : {
            "$ref" : "#/components/schemas/BICFIDec2014Identifier"
          },
          "clearing_system_member_identification" : {
            "$ref" : "#/components/schemas/ClearingSystemMemberIdentification2"
          },
          "name" : {
            "$ref" : "#/components/schemas/Max140Text"
          },
          "postal_address" : {
            "$ref" : "#/components/schemas/PostalAddress24"
          }
        }
      },
      "FinancialInstitutionIdentityValidation1" : {
        "type" : "object",
        "description" : "Represents the details of Account Format Validation service request.\n",
        "additionalProperties" : false,
        "properties" : {
          "financial_institution_identification" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          }
        },
        "required" : [ "financial_institution_identification" ]
      },
      "FinancialInstitutionIdentityValidationReason1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the reasons for Financial Institution Identity validation status. \n\n`VBIC_valid_bic`-The instructed financial institution identifier subject to financial institution identity validation is a valid BIC for the instructed payment context.\n\n`IBIC_invalid_bic`-The instructed financial institution identifier subject to financial institution identity validation is not a  valid BIC for the instructed payment context.\n\n`INCT_inconsistent_country`-The instructed country code does not match the country of the payment information that is subject to validation.  \n\n`CCTY_consistent_country`-The instructed country code matches the country of the payment information that is subject to validation.\n\n`VCSM_valid_clearing_system_member_identification`-The instructed financial institution identifier subject to financial institution identity validation is a valid clearing system member identifier for the instructed payment context.\n\n`UCSM_unrecognized_clearing_system_member_identification`-The instructed financial institution identifier subject to financial institution identity validation has not been found in the SWIFT directory for the instructed payment context. \n\n`ICTY_invalid_country`-Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)\n\n`MCTY_missing_country_code`-Country code is missing from the payment context in order for the validation of the instructed payment information to be performed.\n",
        "enum" : [ "VBIC_valid_bic", "IBIC_invalid_bic", "INCT_inconsistent_country", "CCTY_consistent_country", "VCSM_valid_clearing_system_member_identification", "UCSM_unrecognized_clearing_system_member_identification", "ICTY_invalid_country", "MCTY_missing_country_code" ]
      },
      "FinancialInstitutionIdentityValidationStatus1" : {
        "type" : "object",
        "description" : "Represents the response details that the Financial Institution Identity validation service will provide to the service consumer.\n",
        "additionalProperties" : false,
        "properties" : {
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          },
          "financial_institution_identification" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification8"
          },
          "status" : {
            "$ref" : "#/components/schemas/FinancialInstitutionIdentityValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FinancialInstitutionIdentityValidationReason1Code"
            }
          }
        },
        "required" : [ "status", "reason" ]
      },
      "FinancialInstitutionIdentityValidationStatus1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the status of the Financial Institution Identity validation.\n\n`NAVL_not_available`-The validation of the instructed payment information is not available in the instructed payment context, typically due to payment data collection process being in progress and insufficient data coverage. \n\n`FVAL_valid`-The payment information instructed for validation it is valid in the instructed payment context. \n\n`CVAL_valid_with_comments`-The payment information instructed for validation  is valid but the instructed payment context can be further improved.\n\n`IVAL_invalid`-The payment information instructed for validation it is not valid in  the instructed payment context. \n\n`CNPR_could_not_perform`-The validation of the instructed payment information could not be performed in the instructed payment context typically due to missing payment context information.\n\n`UNRE_unrecognised`-The payment information instructed for validation has not been found in the SWIFT repository for the instructed payment context.\n",
        "enum" : [ "NAVL_not_available", "FVAL_valid", "CVAL_valid_with_comments", "IVAL_invalid", "CNPR_could_not_perform", "UNRE_unrecognised" ]
      },
      "GenericAccountIdentification1" : {
        "type" : "object",
        "description" : "Information related to a generic account identification.",
        "additionalProperties" : false,
        "properties" : {
          "identification" : {
            "$ref" : "#/components/schemas/Max34Text"
          },
          "scheme_name" : {
            "$ref" : "#/components/schemas/AccountSchemeName1Choice"
          },
          "issuer" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "required" : [ "identification" ]
      },
      "GenericCodeIdentification1" : {
        "type" : "object",
        "description" : "Information for the identification of a code use in the payment validation.",
        "additionalProperties" : false,
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "description_english" : {
            "$ref" : "#/components/schemas/Max20000Text"
          },
          "name_english" : {
            "$ref" : "#/components/schemas/Max1000Text"
          },
          "name_local_language" : {
            "$ref" : "#/components/schemas/Max1000Text"
          },
          "description_local_language" : {
            "$ref" : "#/components/schemas/Max20000Text"
          }
        },
        "required" : [ "id", "name_english" ]
      },
      "GenericConnectivityChoice" : {
        "type" : "object",
        "description" : "Information for the identification of a SWIFT connectivity.",
        "additionalProperties" : false,
        "properties" : {
          "fin" : {
            "$ref" : "#/components/schemas/YesNoIndicator"
          },
          "interact" : {
            "$ref" : "#/components/schemas/YesNoIndicator"
          },
          "file_act" : {
            "$ref" : "#/components/schemas/YesNoIndicator"
          }
        },
        "required" : [ "fin", "interact", "file_act" ]
      },
      "GenericIdentification30" : {
        "type" : "object",
        "description" : "Information related to an identification, for example, party identification or account identification.",
        "additionalProperties" : false,
        "properties" : {
          "identification" : {
            "$ref" : "#/components/schemas/Exact4AlphaNumericText"
          },
          "issuer" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "scheme_name" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "required" : [ "identification", "issuer" ]
      },
      "GenericOrganisationIdentification1" : {
        "type" : "object",
        "description" : "Information related to an identification of an organisation.",
        "additionalProperties" : false,
        "properties" : {
          "identification" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "scheme_name" : {
            "$ref" : "#/components/schemas/OrganisationIdentificationSchemeName1Choice"
          },
          "issuer" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "required" : [ "identification" ]
      },
      "GpiDirectoryChannelType1Code" : {
        "type" : "string",
        "description" : "The channel through which the participant is reachable for gpi payment instructions for one of its gpi currencies.\n\n`DICO`-Direct or Cover\n\n`INTR`-Intermediary\n\n`NPMI`-Non FIN PMI\n\n`FPMI`-FIN compatible PMI\n",
        "enum" : [ "DICO", "INTR", "NPMI", "FPMI" ]
      },
      "IBAN2007Identifier" : {
        "type" : "string",
        "description" : "An identifier used internationally by financial institutions to\nuniquely identify the account of a customer at a financial institution, as\ndescribed in the latest edition of the international standard ISO 13616: 2007\n- \"Banking and related financial services - International Bank Account Number\n(IBAN)\".\n",
        "pattern" : "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$"
      },
      "ISODateTime" : {
        "type" : "string",
        "description" : "A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
        "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(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$"
      },
      "LEIIdentifier" : {
        "type" : "string",
        "description" : "Legal Entity Identifier is a code allocated to a party as described in ISO 17442 \"Financial Services - Legal Entity Identifier (LEI)\".",
        "pattern" : "^[A-Z0-9]{18,18}[0-9]{2,2}$"
      },
      "Max1000Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 1000 characters.",
        "minLength" : 1,
        "maxLength" : 1000
      },
      "Max140Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 140 characters.",
        "minLength" : 1,
        "maxLength" : 140
      },
      "Max16Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 16 characters.",
        "minLength" : 1,
        "maxLength" : 16
      },
      "Max20000Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 20, 000 characters.",
        "minLength" : 1,
        "maxLength" : 20000
      },
      "Max2048Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 2048 characters.",
        "minLength" : 1,
        "maxLength" : 2048
      },
      "Max256Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 256 characters.",
        "minLength" : 1,
        "maxLength" : 256
      },
      "Max34Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 34 characters.",
        "minLength" : 1,
        "maxLength" : 34
      },
      "Max35Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 35 characters.",
        "minLength" : 1,
        "maxLength" : 35
      },
      "Max4Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 4 characters.",
        "minLength" : 1,
        "maxLength" : 4
      },
      "Max50Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 50 characters.",
        "minLength" : 1,
        "maxLength" : 50
      },
      "Max70Text" : {
        "type" : "string",
        "description" : "Specifies a character string with a maximum length of 70characters.",
        "minLength" : 1,
        "maxLength" : 70
      },
      "OrganisationIdentification8" : {
        "type" : "object",
        "description" : "Unique and unambiguous way to identify an organisation.",
        "additionalProperties" : false,
        "properties" : {
          "any_bic" : {
            "$ref" : "#/components/schemas/AnyBICIdentifier"
          },
          "other" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GenericOrganisationIdentification1"
            }
          }
        }
      },
      "OrganisationIdentificationSchemeName1Choice" : {
        "type" : "object",
        "description" : "Sets of elements to identify a name of the organisation identification scheme.",
        "additionalProperties" : false,
        "properties" : {
          "code" : {
            "$ref" : "#/components/schemas/ExternalOrganisationIdentification1Code"
          },
          "proprietary" : {
            "$ref" : "#/components/schemas/Max35Text"
          }
        },
        "oneOf" : [ {
          "required" : [ "code" ]
        }, {
          "required" : [ "proprietary" ]
        } ]
      },
      "PaymentPurposeCodeValidation1" : {
        "type" : "object",
        "description" : "This represents the details of Payment Purpose Code Validation service request.",
        "additionalProperties" : false,
        "properties" : {
          "purpose_code" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          }
        },
        "required" : [ "purpose_code", "country_code" ]
      },
      "PaymentPurposeCodeValidationReason1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the reasons for Payment Purpose Code validation status. \n\n`UPPC_unrecognized_purpose_code`-The instructed payment purpose code subject to validation could not be found in the purpose code data available in the SWIFT repository for the instructed payment context.\n\n`VPPC_valid_purpose_code`-The instructed payment purpose code has been successfully validated against the purpose  code list(s) available in the SWIFT repository for the instructed payment context.\n\n`ICTY_invalid_country`-Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)\n\n`PINP_no_purpose_code_data_available`-No purpose code data available in the SWIFT repository for the instructed context. This may relate to the country specific requirements not mandating purpose codes for the instructed context.\n",
        "enum" : [ "UPPC_unrecognized_purpose_code", "VPPC_valid_purpose_code", "ICTY_invalid_country", "PINP_no_purpose_code_data_available" ]
      },
      "PaymentPurposeCodeValidationStatus1" : {
        "type" : "object",
        "description" : "This represents the response details that the Payment Purpose Code validation service will provide to the service consumer.\n",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/PaymentPurposeCodeValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PaymentPurposeCodeValidationReason1Code"
            }
          },
          "purpose_code" : {
            "$ref" : "#/components/schemas/GenericCodeIdentification1"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          }
        },
        "required" : [ "status", "reason" ]
      },
      "PaymentPurposeCodeValidationStatus1Code" : {
        "type" : "string",
        "description" : "The list of unique status identifiers for the Payment Purpose Code Validation service.\n\n`FVAL_valid`-The payment information instructed for validation it is valid in the instructed payment context. \n\n`UNRE_unrecognised`-The payment information instructed for validation has not been found in the SWIFT repository for the instructed payment context. \n\n`CNPR_could_not_perform`-The validation of the instructed payment information could not be performed in the instructed payment context typically due to missing payment context information.\n\n`NAVL_not_available`-The validation of the instructed payment information is not available in the instructed payment context, typically due to payment data collection process being in progress and insufficient data coverage.\n",
        "enum" : [ "FVAL_valid", "UNRE_unrecognised", "CNPR_could_not_perform", "NAVL_not_available" ]
      },
      "PaymentPurposeValidation1" : {
        "type" : "object",
        "description" : "This represents the details of Payment Purpose Validation service request.\n",
        "additionalProperties" : false,
        "properties" : {
          "purpose_code" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          },
          "purpose_description" : {
            "$ref" : "#/components/schemas/Max140Text"
          },
          "clearing_system_identification" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "currency_code" : {
            "$ref" : "#/components/schemas/ActiveCurrencyCode"
          }
        },
        "required" : [ "country_code" ]
      },
      "PaymentPurposeValidationCheck1" : {
        "type" : "object",
        "description" : "Details the outcome of each individual payment purpose validation check.\n",
        "additionalProperties" : false,
        "properties" : {
          "code" : {
            "$ref" : "#/components/schemas/PaymentPurposeValidationCheckCode"
          },
          "description" : {
            "$ref" : "#/components/schemas/Max256Text"
          },
          "status" : {
            "$ref" : "#/components/schemas/PaymentPurposeValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PaymentPurposeValidationReason1Code"
            }
          },
          "severity" : {
            "$ref" : "#/components/schemas/PaymentValidationSeverity1"
          },
          "validated_payment_information" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PaymentValidationInputParameter1"
            }
          }
        },
        "required" : [ "code", "status", "reason", "severity" ]
      },
      "PaymentPurposeValidationCheckCode" : {
        "type" : "string",
        "description" : "The list of unique identifiers for the individual payment purpose validation checks. \n\n`PCCT_purpose_and_country`-The unique identifier of the individual payment purpose validation check  that validates the instructed payment purpose information against the payment purpose requirements available in the SWIFT repository for the instructed creditor country.\n\n`PCCC_purpose_and_country_and_currency`-The unique identifier of the individual payment purpose validation check that validates the instructed payment purpose information against the payment purpose requirements available in the SWIFT repository for the instructed creditor country and creditor account currency\n\n`PCCP_purpose_and_country_and_currency_and_clearing_system`-The unique identifier of the individual payment purpose validation check that validates the instructed payment purpose information against the payment purpose requirements available in the SWIFT repository for the instructed creditor country, creditor account currency and local clearing system.\n\n`PCCS_purpose_and_country_and_clearing_system`-The unique identifier of the individual payment purpose validation check  that validates the instructed payment purpose information against the payment purpose requirements available in the SWIFT repository for the instructed creditor country and the instructed clearing system.\n",
        "enum" : [ "PCCT_purpose_and_country", "PCCC_purpose_and_country_and_currency", "PCCP_purpose_and_country_and_currency_and_clearing_system", "PCCS_purpose_and_country_and_clearing_system" ]
      },
      "PaymentPurposeValidationReason1Code" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the reasons for Payment Purpose validation status. \n\n`PINP_no_purpose_code_data_available`-No purpose code data available in the SWIFT repository for the instructed context. This may relate to the country specific requirements not mandating purpose codes for the instructed context.\n\n`VPPD_valid_purpose_description`-The instructed payment purpose description has been successfully validated according to the specific requirements available in the SWIFT repository for the instructed context.\n\n`MPPD_missing_purpose_description`-There are specific rules for the provided context that require the presence of the payment purpose description which is missing from the payment purpose validation request.\n\n`PCME_purpose_code_description_max_length_exceeded`-Instructed payment purpose code description has exceeded the mandated maximum length registered in the SWIFT repository for the given  context\n\n`UPPC_unrecognized_purpose_code`-The instructed payment purpose code subject to validation could not be found in the purpose code data available in the SWIFT repository for the instructed payment context.\n\n`VPPC_valid_purpose_code`-The instructed payment purpose code has been successfully validated against the purpose  code list(s) available in the SWIFT repository for the instructed payment context.\n\n`ICTY_invalid_country`-Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)\n\n`UCSI_unrecognized_clearing_system_identification`-Instructed clearing system identifier has not been found in the SWIFT directory for the instructed payment context. \n\n`MPPC_missing_payment_purpose_code`-Payment Purpose code has not been instructed for the payment validation to be performed.\n\n`ICCY_invalid_currency_code`-Instructed currency code is not a valid ISO currency code\n\n`MCSI_missing_clearing_system_identifier`-Clearing system identifier  is missing from the payment context in order for the validation of the instructed payment information to be performed.\n\n`MCCC_missing_currency_code`-Currency code  is missing from the payment context in order for the validation of the instructed payment information to be performed.\n\n`ICCH_check_not_applied`-The individual payment validation check has not been applied for the instructed context. Other individual payment validation checks are more relevant and will be applied instead.\n",
        "enum" : [ "PINP_no_purpose_code_data_available", "VPPD_valid_purpose_description", "MPPD_missing_purpose_description", "PCME_purpose_code_description_max_length_exceeded", "UPPC_unrecognized_purpose_code", "VPPC_valid_purpose_code", "ICTY_invalid_country", "UCSI_unrecognized_clearing_system_identification", "MPPC_missing_payment_purpose_code", "ICCY_invalid_currency_code", "MCSI_missing_clearing_system_identifier", "MCCC_missing_currency_code", "ICCH_check_not_applied" ]
      },
      "PaymentPurposeValidationStatus1" : {
        "type" : "object",
        "description" : "This represents the response details that the Payment Purpose validation service will provide to the service consumer.\n",
        "additionalProperties" : false,
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/PaymentPurposeValidationStatus1Code"
          },
          "reason" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PaymentPurposeValidationReason1Code"
            }
          },
          "validation_check" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PaymentPurposeValidationCheck1"
            }
          },
          "available_purpose_code" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GenericCodeIdentification1"
            }
          },
          "purpose_code" : {
            "$ref" : "#/components/schemas/GenericCodeIdentification1"
          },
          "country_code" : {
            "$ref" : "#/components/schemas/CountryCode"
          },
          "purpose_description" : {
            "$ref" : "#/components/schemas/Max140Text"
          },
          "clearing_system_identification" : {
            "$ref" : "#/components/schemas/ClearingSystemIdentification2Choice"
          },
          "currency_code" : {
            "$ref" : "#/components/schemas/ActiveCurrencyCode"
          }
        },
        "required" : [ "status", "reason" ]
      },
      "PaymentPurposeValidationStatus1Code" : {
        "type" : "string",
        "description" : "The list of unique status identifiers for the Payment Purpose Validation service.\n\n`IVAL_invalid`-The payment information instructed for validation it is not valid in  the instructed payment context.\n\n`FVAL_valid`-The payment information instructed for validation it is valid in the instructed payment context.\n\n`UNRE_unrecognised`-The payment information instructed for validation has not been found in the SWIFT repository for the instructed payment context.\n\n`CVAL_valid_with_comments`-The payment information instructed for validation  is valid but the instructed payment context can be further improved.\n\n`NAVL_not_available`-The validation of the instructed payment information is not available in the instructed payment context, typically due to payment data collection process being in progress and insufficient data coverage. \n\n`CNPR_could_not_perform`-The validation of the instructed payment information could not be performed in the instructed payment context typically due to missing payment context information.\n\n`NOAP_not_applicable`-The validation of the instructed payment information has not been applied because didn't make sense for the given context.\n",
        "enum" : [ "IVAL_invalid", "FVAL_valid", "UNRE_unrecognised", "CVAL_valid_with_comments", "NAVL_not_available", "CNPR_could_not_perform", "NOAP_not_applicable" ]
      },
      "PaymentValidationInputParameter1" : {
        "type" : "string",
        "description" : "The list of unique identifiers which describe the request parameters for Payment Validation service suite.\n\n`PPCO_payment_purpose_code`-Payment purpose code subject to the instructed Payment Validation service.\n\n`PDCO_payment_purpose_description`-Payment purpose description subject to the instructed Payment Validation service.\n",
        "enum" : [ "PPCO_payment_purpose_code", "PDCO_payment_purpose_description" ]
      },
      "PaymentValidationSeverity1" : {
        "type" : "string",
        "description" : "Severity of the payment validation between error, warning and informative\n\n`ERRO_error`-Payment validation status indicates an error\n\n`INFO_info`-Payment validation status is informative\n\n`WARN_warning`-Payment validation status represents a warning\n",
        "enum" : [ "ERRO_error", "INFO_info", "WARN_warning" ]
      },
      "PhoneNumber" : {
        "type" : "string",
        "description" : "The collection of information which identifies a specific phone or FAX number as defined by telecom services.\nIt consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any combination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).",
        "pattern" : "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$"
      },
      "PostalAddress24" : {
        "type" : "object",
        "description" : "Information that locates and identifies a specific address, as defined by postal services.",
        "additionalProperties" : false,
        "properties" : {
          "address_type" : {
            "$ref" : "#/components/schemas/AddressType3Choice"
          },
          "department" : {
            "$ref" : "#/components/schemas/Max70Text"
          },
          "sub_department" : {
            "$ref" : "#/components/schemas/Max70Text"
          },
          "street_name" : {
            "$ref" : "#/components/schemas/Max70Text"
          },
          "building_number" : {
            "$ref" : "#/components/schemas/Max16Text"
          },
          "building_name" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "floor" : {
            "$ref" : "#/components/schemas/Max70Text"
          },
          "post_box" : {
            "$ref" : "#/components/schemas/Max16Text"
          },
          "room" : {
            "$ref" : "#/components/schemas/Max70Text"
          },
          "post_code" : {
            "$ref" : "#/components/schemas/Max16Text"
          },
          "town_name" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "town_location_name" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "district_name" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "country_sub_division" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "country" : {
            "$ref" : "#/components/schemas/CountryCode"
          },
          "address_line" : {
            "type" : "array",
            "maxItems" : 7,
            "items" : {
              "$ref" : "#/components/schemas/Max70Text"
            }
          }
        }
      },
      "RouteSorting1" : {
        "type" : "object",
        "description" : "Sorting of the list of payment routes returned, by a given criteria such as cut-off time, minimum number of agents involved, etc and the order in which the results should be returned, e.g. ascending order or descending order.",
        "additionalProperties" : false,
        "properties" : {
          "sorting_criteria" : {
            "$ref" : "#/components/schemas/Max35Text"
          },
          "sorting_order" : {
            "$ref" : "#/components/schemas/SortingOrder"
          }
        },
        "required" : [ "sorting_criteria" ]
      },
      "ServicingAgentChannel1" : {
        "type" : "object",
        "description" : "Channel as defined in the gpi directory between the Requestor Agent and the Servicing Agent.",
        "additionalProperties" : false,
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/GpiDirectoryChannelType1Code"
          },
          "id" : {
            "$ref" : "#/components/schemas/Exact3AlphaNumericText"
          },
          "fee" : {
            "$ref" : "#/components/schemas/SwiftGoFee1"
          },
          "cut_off_time" : {
            "$ref" : "#/components/schemas/ISODateTime"
          },
          "optimum_cut_off_time" : {
            "$ref" : "#/components/schemas/ISODateTime"
          }
        },
        "required" : [ "type" ]
      },
      "SortingOrder" : {
        "type" : "string",
        "description" : "Sorting Order of the returned results.\n*`ASC`-Sorted in ascending order.\n*`DSC`-Sorted in descending order.",
        "enum" : [ "ASC", "DSC" ]
      },
      "SwiftGoFee1" : {
        "type" : "object",
        "description" : "Fee for the payment, taken from the fee repository (sender is requestor agent BIC and receiver is servicing agent BIC).\n\nIt will either be the bilateral fee or the default fee.\n",
        "additionalProperties" : false,
        "properties" : {
          "stp_fee" : {
            "$ref" : "#/components/schemas/Amount3"
          },
          "nstp_fee" : {
            "$ref" : "#/components/schemas/Amount3"
          },
          "fee_expiration" : {
            "$ref" : "#/components/schemas/ISODateTime"
          }
        },
        "required" : [ "stp_fee" ],
        "example" : {
          "stp_fee" : {
            "value" : "5",
            "currency" : "USD"
          },
          "nstp_fee" : {
            "value" : "5",
            "currency" : "USD"
          },
          "fee_expiration" : "2023-12-31T00:00:00Z"
        }
      },
      "SwiftGoPaymentThresholdStatus1" : {
        "type" : "object",
        "description" : "Validation of the Amount and Currency received from the payment validation request. The gpi tracker checks against the existing threshold verification for traffic.\n",
        "additionalProperties" : false,
        "properties" : {
          "validation_check" : {
            "$ref" : "#/components/schemas/Max4Text"
          },
          "amount" : {
            "$ref" : "#/components/schemas/Amount3"
          }
        },
        "required" : [ "validation_check" ],
        "example" : {
          "validation_check" : "FVAL",
          "amount" : {
            "value" : "5",
            "currency" : "USD"
          }
        }
      },
      "SwiftGoRoutes1" : {
        "type" : "object",
        "description" : "List of all possible routes returned by the routing algorithm.",
        "additionalProperties" : false,
        "properties" : {
          "servicing_agent" : {
            "$ref" : "#/components/schemas/FinancialInstitutionIdentification20"
          },
          "channel" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ServicingAgentChannel1"
            }
          },
          "estimated_time_to_creditor_minutes" : {
            "$ref" : "#/components/schemas/EstimatedTimeToCreditor1"
          },
          "minimum_number_of_agents_involved" : {
            "$ref" : "#/components/schemas/positiveInteger"
          }
        },
        "required" : [ "servicing_agent", "minimum_number_of_agents_involved" ]
      },
      "UUIDv4Identifier" : {
        "type" : "string",
        "description" : "Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\".",
        "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$"
      },
      "ValidationCheckResponse2" : {
        "type" : "object",
        "description" : "This represents the response details that the Creditor Account validation service will provide to the service consumer with regards to the creditor account validation performed by the creditor account.\n",
        "additionalProperties" : false,
        "properties" : {
          "account_validation_status" : {
            "$ref" : "#/components/schemas/AccountValidationResponse3Code"
          },
          "creditor_account_match" : {
            "$ref" : "#/components/schemas/AccountValidationResponse2Code"
          },
          "creditor_name_match" : {
            "$ref" : "#/components/schemas/AccountValidationResponse4Code"
          },
          "creditor_address_match" : {
            "$ref" : "#/components/schemas/AccountValidationResponse1Code"
          },
          "creditor_organisation_identification_match" : {
            "$ref" : "#/components/schemas/AccountValidationResponse1Code"
          },
          "creditor_account" : {
            "$ref" : "#/components/schemas/Max34Text"
          },
          "creditor_account_type" : {
            "$ref" : "#/components/schemas/AccountType2Code"
          },
          "creditor_name" : {
            "$ref" : "#/components/schemas/Max140Text"
          },
          "creditor_address" : {
            "$ref" : "#/components/schemas/PostalAddress24"
          },
          "validation_source" : {
            "$ref" : "#/components/schemas/AccountValidationSource1Code"
          }
        },
        "required" : [ "account_validation_status", "creditor_account_match", "creditor_name_match", "creditor_address_match", "creditor_organisation_identification_match" ]
      },
      "YesNoIndicator" : {
        "type" : "boolean",
        "description" : "Indicates a \"Yes\" or \"No\" type of answer for an element."
      },
      "nonNegativeInteger" : {
        "type" : "string",
        "description" : "W3C XML Schema Built-in datatype \"nonNegativeInteger\"."
      },
      "positiveInteger" : {
        "type" : "string",
        "description" : "W3C XML Schema Built-in datatype \"positiveInteger\"."
      },
      "ErrorMessage" : {
        "description" : "Custom error schema to support detailed error message.",
        "type" : "object",
        "readOnly" : true,
        "additionalProperties" : false,
        "properties" : {
          "severity" : {
            "description" : "Specifies the severity of the error.",
            "type" : "string",
            "enum" : [ "Fatal", "Transient", "Logic" ]
          },
          "code" : {
            "description" : "Specifies the custom error code as defined by the service provider.",
            "type" : "string",
            "minLength" : 3,
            "maxLength" : 70
          },
          "text" : {
            "description" : "Specifies the detail error message identifying the cause of the error.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 255
          },
          "user_message" : {
            "description" : "A human-readable text describing the error.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 255
          },
          "more_info" : {
            "description" : "Specifies an URL to find more information about the error.",
            "type" : "string",
            "format" : "uri"
          }
        },
        "required" : [ "code", "severity", "text" ]
      },
      "ClearingSystemIdentificationChoice" : {
        "type" : "object",
        "description" : "Choice of a clearing system identifier.\n",
        "additionalProperties" : true,
        "oneOf" : [ {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "code" : {
              "x-MXComponent" : "ExternalClearingSystemIdentification1Code",
              "description" : "Specifies the clearing system identification code, as published in an external clearing system identification code list. External code sets can be downloaded from www.iso20022.org..\n",
              "type" : "string",
              "minLength" : 1,
              "maxLength" : 5
            }
          },
          "required" : [ "code" ]
        }, {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "proprietary" : {
              "description" : "Identification code for a clearing system, that has not yet been identified in the list of clearing systems.\n",
              "type" : "string",
              "minLength" : 1,
              "maxLength" : 35
            }
          },
          "required" : [ "proprietary" ]
        } ]
      },
      "ClearingSystemMemberIdentification" : {
        "type" : "object",
        "description" : "Unique identification, as assigned by a clearing system, to unambiguously identify a member of the clearing system.\n",
        "additionalProperties" : false,
        "properties" : {
          "clearing_system_identification" : {
            "$ref" : "#/components/schemas/ClearingSystemIdentificationChoice"
          },
          "member_identification" : {
            "description" : "Identification of a member of a clearing system.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          }
        },
        "required" : [ "member_identification" ]
      },
      "CurrencyAmount" : {
        "type" : "object",
        "description" : "Amount of money to be moved between the debtor and the creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.    Usage: Specify the amount in this field when the amount to be received by the beneficiary is known in the creditor currency.\n",
        "additionalProperties" : false,
        "properties" : {
          "currency_code" : {
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode",
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic, ReferenceData",
            "x-Error" : "ErrorCode:Sw.Stds.D00006, ErrorText:Invalid currency code., SWIFTNetValidation:true, Severity:Fatal",
            "description" : "ISO three character currency code.  The Currency Code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the Currency is exchanged.\n",
            "type" : "string",
            "pattern" : "^[A-Z]{3,3}$"
          },
          "amount" : {
            "x-MXComponent" : "ActiveOrHistoricCurrencyAndAmount",
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic",
            "x-Error" : "ErrorCode:Sw.Stds.D00007, ErrorText:Too many decimal digits., SWIFTNetValidation:true  Severity:Fatal",
            "description" : "The amount with fractional digit.  The number of fractional digits (or minor unit of currency) must comply with ISO 4217. Note: The decimal separator is a dot.\nUsage:\n  minInclusive: 0\n  totalDigits: 18\n  fractionDigits: 5\n",
            "type" : "string",
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$"
          }
        },
        "required" : [ "currency_code", "amount" ]
      },
      "FinancialInstitutionIdentification" : {
        "type" : "object",
        "description" : "Specifies the details to identify a financial institution.\n",
        "additionalProperties" : false,
        "properties" : {
          "bicfi" : {
            "x-MXComponent" : "BICFIDec2014Identifier",
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic",
            "x-Error" : "ErrorCode:Sw.Stds.D00008, ErrorText:Invalid BIC., SWIFTNetValidation:true  Severity:Fatal",
            "description" : "Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n",
            "type" : "string",
            "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
          },
          "clearing_system_member_identification" : {
            "$ref" : "#/components/schemas/ClearingSystemMemberIdentification"
          }
        }
      },
      "GenericOrganisationIdentification" : {
        "type" : "object",
        "description" : "Information related to an identification of an organisation.\n",
        "additionalProperties" : false,
        "properties" : {
          "identification" : {
            "description" : "Identification assigned by an institution.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "scheme_name" : {
            "$ref" : "#/components/schemas/OrganisationIdentificationSchemeNameChoice"
          },
          "issuer" : {
            "description" : "Entity that assigns the identification.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          }
        },
        "required" : [ "identification" ]
      },
      "OrganisationIdentification" : {
        "type" : "object",
        "description" : "Unique and unambiguous way to identify an organisation.\n",
        "additionalProperties" : false,
        "properties" : {
          "bic" : {
            "x-MXComponent" : "AnyBICDec2014Identifier",
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic",
            "x-Error" : "ErrorCode:Sw.Stds.D00008, ErrorText:Invalid BIC., SWIFTNetValidation:true  Severity:Fatal",
            "description" : "Business identification code of the organisation. Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n",
            "type" : "string",
            "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
          },
          "other" : {
            "type" : "array",
            "maxItems" : 2,
            "items" : {
              "$ref" : "#/components/schemas/GenericOrganisationIdentification"
            }
          }
        }
      },
      "OrganisationIdentificationSchemeNameChoice" : {
        "type" : "object",
        "description" : "Sets of elements to identify a name of the organisation identification scheme.\n",
        "additionalProperties" : true,
        "oneOf" : [ {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "code" : {
              "x-MXComponent" : "ExternalOrganisationIdentification1Code",
              "description" : "Specifies the external organisation identification scheme name code in the format of character string with a maximum length of 4 characters. The list of valid codes is an external code list published separately. External code sets can be downloaded from www.iso20022.org.\n",
              "type" : "string",
              "minLength" : 1,
              "maxLength" : 4
            }
          },
          "required" : [ "code" ]
        }, {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "proprietary" : {
              "description" : "Name of the identification scheme, in a free text form.\n",
              "type" : "string",
              "minLength" : 1,
              "maxLength" : 35
            }
          },
          "required" : [ "proprietary" ]
        } ]
      },
      "PartyIdentification" : {
        "type" : "object",
        "description" : "Specifies the identification of a person or an organisation.\n",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "description" : "Name by which a party is known and which is usually used to identify that party.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 140
          },
          "postal_address" : {
            "$ref" : "#/components/schemas/PostalAddressChoice"
          },
          "identification" : {
            "description" : "Unique and unambiguous identification of a party.\n",
            "type" : "object",
            "additionalProperties" : false,
            "properties" : {
              "organisation_identification" : {
                "$ref" : "#/components/schemas/OrganisationIdentification"
              }
            }
          }
        }
      },
      "PaymentInstruction" : {
        "type" : "object",
        "description" : "Payment instruction with the data elements forming a partial or complete payment instruction. Validation is carried out on the data elements that are present.\n",
        "additionalProperties" : false,
        "properties" : {
          "uetr" : {
            "description" : "Unique end to end transaction reference of a payment. The type is Universally Unique Identifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique Identifier (UUID) URN Namespace\".\n",
            "type" : "string",
            "format" : "uuid",
            "example" : "b56a093a-5d34-4bdb-9137-a337fe74b938"
          },
          "instructed_amount" : {
            "$ref" : "#/components/schemas/CurrencyAmount"
          },
          "clearing_system_identification" : {
            "description" : "The market infrastructure over which the payment instruction will be/is intended to be cleared.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "debtor_agent_country" : {
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic, ReferenceData",
            "x-Error" : "ErrorCode:Sw.Stds.D00004, ErrorText:Invalid Country Code., SWIFTNetValidation:true,  Severity:Fatal",
            "description" : "Country of the Financial institution servicing an account for the debtor expressed in 2 character ISO code.\n",
            "type" : "string",
            "minLength" : 2,
            "maxLength" : 2,
            "pattern" : "^[A-Z]{2,2}$"
          },
          "creditor_agent" : {
            "$ref" : "#/components/schemas/FinancialInstitutionIdentification"
          },
          "creditor_agent_country" : {
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic, ReferenceData",
            "x-Error" : "ErrorCode:Sw.Stds.D00004, ErrorText:Invalid Country Code., SWIFTNetValidation:true,  Severity:Fatal",
            "description" : "Country of the Financial institution servicing an account for the creditor expressed in 2 character ISO code.\n",
            "type" : "string",
            "minLength" : 2,
            "maxLength" : 2,
            "pattern" : "^[A-Z]{2,2}$"
          },
          "creditor_agent_branch_identification" : {
            "description" : "Branch Identification of the Financial institution servicing an account for the creditor.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "creditor" : {
            "$ref" : "#/components/schemas/PartyIdentification"
          },
          "creditor_account" : {
            "description" : "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 34
          },
          "purpose_code" : {
            "description" : "Underlying reason for the payment transaction. Usage: Purpose is used by the end-customers, that is initiating party, (ultimate) debtor, (ultimate) creditor to provide information concerning the nature of the payment.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "purpose_description" : {
            "description" : "Description of the Underlying reason for the payment transaction, including any further regulatory reporting information that should accompany the payment.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 140
          },
          "category_purpose_code" : {
            "description" : "Specifies the high level purpose of the instruction based on a set of pre-defined categories.  Usage: This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.\n",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          }
        },
        "required" : [ "instructed_amount", "debtor_agent_country", "creditor_agent_country", "creditor_account" ]
      },
      "PaymentInstructionValidation" : {
        "type" : "object",
        "description" : "Payment instruction validation providing a comprehensive view of the overall payment, including the results of the individual validations performed.\n",
        "additionalProperties" : false,
        "properties" : {
          "uetr" : {
            "description" : "Unique end to end transaction reference of a payment. The type is Universally Unique Identifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique Identifier (UUID) URN Namespace\".\n",
            "type" : "string",
            "format" : "uuid",
            "example" : "7dca010b-fc3b-496c-b8a4-36ffd78f674"
          },
          "payment_instruction_validation_result" : {
            "type" : "string",
            "description" : "This is the overall payment level result of the validations performed. It can have one of the below values \n\n`ERROR` - validations performed, resulting in at least one error response from the underlying data element validations.\n\n`WARNING` - validations performed, resulting in at least one warning from the underlying data element validations but no errors returned.\n\n`ALL_VALID` - all validations in the scope of this service, that were performed on the data elements, were successful.\n\n`PARTIALLY_VALIDATED` - some validations performed were successful. However, some validations could not be performed as source data was not available. But there were no errors returned for any of the underlying data element validations.\n\n`N/A` - Could not validate the payment instruction data elements, in the scope of this service, as source data was not available to perform any of the validations.\n",
            "enum" : [ "ERROR", "WARNING", "ALL_VALID", "PARTIALLY_VALIDATED", "N/A" ]
          },
          "validation_summary" : {
            "description" : "Summary of results of the validations performed.\n",
            "type" : "object",
            "additionalProperties" : false,
            "properties" : {
              "ERROR_count" : {
                "description" : "Number of unsuccessful validations returned as a result of validating the payment instruction data elements.\n\nW3C XML Schema Built-in datatype \"nonNegativeInteger\".\n",
                "type" : "string"
              },
              "WARNING_count" : {
                "description" : "Number of warnings returned as a result of validating the payment instruction data elements.\n\nW3C XML Schema Built-in datatype \"nonNegativeInteger\".\n",
                "type" : "string"
              },
              "VALID_count" : {
                "description" : "Number of successful validations returned as a result of validating the payment instruction data elements.\n\nW3C XML Schema Built-in datatype \"nonNegativeInteger\".\n",
                "type" : "string"
              },
              "N/A_count" : {
                "description" : "Number of validations that could not be performed as source data was not available.\n\nW3C XML Schema Built-in datatype \"nonNegativeInteger\".\n",
                "type" : "string"
              },
              "service_error_count" : {
                "description" : "Number of technical errors resulting in a HTTP 400/500 response. These are the back-end service errors encountered when performing a validation and eventually the validation hasn't been performed. These service errors will not be considered for deriving the overall 'payment_instruction_validation_result'.\n\nW3C XML Schema Built-in datatype \"nonNegativeInteger\".\n",
                "type" : "string"
              }
            },
            "required" : [ "ERROR_count", "WARNING_count", "VALID_count", "N/A_count", "service_error_count" ]
          },
          "validations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ValidationCheck"
            }
          }
        },
        "required" : [ "payment_instruction_validation_result", "validation_summary" ]
      },
      "PostalAddress" : {
        "type" : "object",
        "description" : "Information that locates and identifies a specific address.",
        "additionalProperties" : false,
        "required" : [ "town_name", "country" ],
        "properties" : {
          "department" : {
            "description" : "Identification of a division of a large organisation or building.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "sub_department" : {
            "description" : "Identification of a sub-division of a large organisation or building.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "street_name" : {
            "description" : "Name of a street or thoroughfare.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "building_number" : {
            "description" : "Number that identifies the position of a building on a street.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 16
          },
          "building_name" : {
            "description" : "Name of the building or house.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "floor" : {
            "description" : "Floor or storey within a building.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "post_box" : {
            "description" : "Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 16
          },
          "room" : {
            "description" : "Building room number.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "post_code" : {
            "description" : "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 16
          },
          "town_name" : {
            "description" : "Name of a built-up area, with defined boundaries, and a local government.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "town_location_name" : {
            "description" : "Specific location name within the town.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "district_name" : {
            "description" : "Identifies a subdivision within a country sub-division.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "country_sub_division" : {
            "description" : "Identifies a subdivision of a country such as state, region, county.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "country" : {
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic, ReferenceData",
            "x-Error" : "ErrorCode:Sw.Stds.D00004, ErrorText:Invalid Country Code., SWIFTNetValidation:true,  Severity:Fatal",
            "description" : "Nation with its own government.",
            "type" : "string",
            "minLength" : 2,
            "maxLength" : 2,
            "pattern" : "^[A-Z]{2,2}$"
          }
        }
      },
      "PostalAddressChoice" : {
        "type" : "object",
        "description" : "Postal Address Structured or Unstructured\n",
        "additionalProperties" : true,
        "oneOf" : [ {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "structured" : {
              "$ref" : "#/components/schemas/PostalAddress"
            }
          },
          "required" : [ "structured" ]
        }, {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "unstructured" : {
              "$ref" : "#/components/schemas/PostalAddressUnstructured"
            }
          },
          "required" : [ "unstructured" ]
        } ]
      },
      "PostalAddressUnstructured" : {
        "type" : "object",
        "description" : "Information that locates and identifies a specific address in an unstructured format.\n",
        "additionalProperties" : false,
        "required" : [ "address_line", "country" ],
        "properties" : {
          "address_line" : {
            "description" : "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.\n",
            "type" : "array",
            "maxItems" : 7,
            "items" : {
              "type" : "string",
              "minLength" : 1,
              "maxLength" : 70
            }
          },
          "country" : {
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic, ReferenceData",
            "x-Error" : "ErrorCode:Sw.Stds.D00004, ErrorText:Invalid Country Code., SWIFTNetValidation:true,  Severity:Fatal",
            "description" : "Nation with its own government.",
            "type" : "string",
            "minLength" : 2,
            "maxLength" : 2,
            "pattern" : "^[A-Z]{2,2}$"
          }
        }
      },
      "ValidationCheck" : {
        "type" : "object",
        "description" : "Details of the outcome of each individual checks performed.\n",
        "additionalProperties" : false,
        "properties" : {
          "check_type" : {
            "type" : "string",
            "description" : "Identifies uniquely the Validation check being performed. \n\n`Account_Format_Validation` - validates the format of the instructed account identifier against all the formats that apply to the instructed context (country or/and the financial institution that holds the account)\n\n`Beneficiary_Account_Verification` - verifies that an account exists and is capable of receiving incoming funds. The service uses the beneficiary bank subscribed as data provider to perform the account verification (BAV) that usually implies that the account is open, properly identified by the given number and, depending on the jurisdiction and market practices in use where the account is held, that the creditor name matches the name of the account holder. When the beneficiary bank is not subscribed as data provider, SWIFT will use the pseudonymized account statistics (CBAV) to perform the account number verification that implies that the account exists and is likely to receive funds. SWIFT and the beneficiary banks subscribed as data provider do not take liability for the response and do not provide any guarantee on the outcome of an actual transaction being sent to this account. The information provided is meant to be as accurate as possible at the time that the request was processed.\n\n`Category_Purpose_Validation` - validates the instructed category purpose code against the list of category purpose codes available in the SWIFT reference data for the instructed payment context (creditor country).\n\n`Financial_Institution_Identity_Validation` - validates if the instructed institution is registered in the SWIFT reference data as financial institution.\n\n`Instructed_Amount_Validation` - validates the instructed amount against the requirements available in the SWIFT reference data for the instructed creditor agent country and payment market infrastructure.\n\n`Payment_Purpose_Validation` - validates the instructed information regarding the purpose of the payment based on the specific requirements available in the SWIFT repository, for the instructed payment context (creditor agent country, currency and local payment instrument).\n",
            "enum" : [ "Account_Format_Validation", "Beneficiary_Account_Verification", "Category_Purpose_Validation", "Financial_Institution_Identity_Validation", "Instructed_Amount_Validation", "Payment_Purpose_Validation" ]
          },
          "validated_by" : {
            "type" : "string",
            "description" : "Indicates who is performing the check - if the check is performed by SWIFT centrally, or in collaboration with other institution, which in the payment validation case are the creditor agents.\n",
            "enum" : [ "SWIFT_CENTRALLY", "CREDITOR_AGENT" ]
          },
          "status" : {
            "type" : "string",
            "description" : "Indicates the status of the individual payment validation check.\n\n`FVAL_valid` - The payment information instructed for validation is valid in the instructed payment context. \n\n`CVAL_valid_with_comments` - The payment information instructed for validation is valid but the instructed payment context can be further improved.\n\n`IVAL_invalid` - The payment information instructed for validation is not valid in the instructed payment context.\n\n`NAVL_not_available` - The validation of the instructed payment information is not available in the instructed payment context, typically due to payment data collection process being in progress and insufficient data coverage.\n\n`CNPR_could_not_perform` - The validation of the instructed payment information could not be performed in the instructed payment context typically due to missing payment context information.\n\n`NOAP_not_applicable` - The validation of the instructed payment information has not been applied because it is not applicable for the given context.\n\n`NOMN_not_mandated` - There is no mandate regarding the instructed payment information registered in the SWIFT repository for the given context.  \n\n`UNRE_unrecognised` - The payment information instructed for validation has not been found in the SWIFT repository for the instructed payment context.\n\n`ISMN_is_mandated` - There is a mandate regarding the instructed payment information registered in the SWIFT repository for the given context.\n\n\nBelow status are specific to *Beneficiary Account Verification* check, wherein the beneficiary bank is the data provider and has provided the response. Hence, the below status should be interpreted in the context of 'validated_by' indicator having the value as 'CREDITOR_AGENT'.\n\n`FAIL` - The account identification provided was not successfully validated to an account that can receive funds.\n\n`INCO` - The account identification provided was successfully validated to an account that can receive funds, however, some additional account checks will be performed at transaction time.\n\n`PASS` - The account identification was successfully validated to an account that can receive funds.\n\n`WARN` - The account identification was not successfully validated to an account that can receive funds, however, the responder lacks some information to provide a definite answer.\n\n\nBelow status are specific to *Central Beneficiary Account Verification* or CBAV, wherein the beneficiary bank is not a data provider and SWIFT has used the pseudonymized account statistics to perform the account number verification, that implies that the account exists and is likely to receive funds. Hence, the below status should be interpreted in the context of 'validated_by' indicator having the value as 'SWIFT_CENTRALLY'.\n\n`INCO` - Transactions with this beneficiary account were found in the transaction history and all these transaction were successful or did not fail due to invalid beneficiary account details.\n\n`WARN` - In the history there are transactions with this beneficiary account that were rejected due to a problem related to the account.\n\n`NAVL` - No transactions with this account found in the transaction history.\n",
            "enum" : [ "FVAL_valid", "CVAL_valid_with_comments", "IVAL_invalid", "NAVL_not_available", "CNPR_could_not_perform", "NOAP_not_applicable", "NOMN_not_mandated", "UNRE_unrecognised", "ISMN_is_mandated", "FAIL", "INCO", "PASS", "WARN", "NAVL" ]
          },
          "reason" : {
            "type" : "array",
            "description" : "The reason(s) behind the status of the individual payment purpose validation check.\n\nBelow reasons are for *Account_Format_Validation* check:\n\n*AINP_account_data_collection_in_progress* - SWIFT account format data coverage index indicates that the account data collection process is in progress (below 90% level of completion).\n\n*CCTY_consistent_country* - The instructed country code matches the country of the payment information that is subject to validation.\n\n*CFIN_consistent_financial_institution_identification* - The instructed financial institution matches the financial institution that uses the account format of the instructed account.\n\n*INCT_inconsistent_country* - The instructed country code does not match the country of the payment information that is subject to validation.\n\n*IFIN_inconsistent_financial_institution_identification* - The instructed financial institution identifier does not match the  financial institution that owns the account that is the subject to the account format validation.\n\n*IBBN_invalid_bban* - The instructed account identifier subject to account format validation does not have a valid Basic Bank Account Number (BBAN) format for the instructed payment context.\n\n*IBIC_invalid_bic* - The instructed financial institution identifier subject to financial institution identity validation is not a  valid BIC for the instructed payment context.\n\n*ICTY_invalid_country* - Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n\n*IDOM_invalid_domestic_bank_specific* - The instructed account identifier subject to account format validation does not have a valid domestic, bank specific format (nor national domestic standard nor bank specific standard) for the instructed payment context.\n\n*IIBN_invalid_iban* - The instructed account identifier subject to account format validation does not have a valid IBAN format for the instructed payment context.\n\n*ICCH_check_not_applied* - The individual payment validation check has not been applied for the instructed context. Other individual payment validation checks are more relevant and will be applied instead.\n\n*MCTY_missing_country_code* - Country code is missing from the payment context in order for the validation of the instructed payment information to be performed.\n\n*MFIN_missing_financial_institution_identifier* - Financial Institution Identifier is missing from the payment context in order for the validation of the instructed payment information to be performed.\n\n*UCSM_unrecognized_clearing_system_member_identification* - The instructed financial institution identifier subject to financial institution identity validation has not been found in the SWIFT directory for the instructed payment context.\n\n*VBBN_valid_bban* - The instructed account identifier subject to account format validation has a valid Basic Bank Account Number (BBAN) format for the instructed payment context.\n\n*VDOM_valid_domestic_bank_specific* - The instructed account identifier subject to account format validation has a valid domestic, bank specific format (national domestic standard or bank specific standard) for the instructed payment context.\n\n*VIBN_valid_iban* - The instructed account identifier subject to account format validation has a valid IBAN format for the instructed payment context.\n\n\nBelow reasons are for *Beneficiary_Account_Verification* check, wherein the beneficiary bank is the data provider (BAV) and has provided the response:\n\nBAV:\n\n*creditor_account_match = MTCH/NMTC* - the creditor account match response code.\n\n*creditor_name_match = MTCH/MBAM/NMTC/NOAP/NOTC* - the creditor name match response code.\n\n*creditor_address_match =  NOAP/NOTC* - the creditor address match response code.\n\n*creditor_organisation_identification_match =  MTCH/NMTC/NOAP/NOTC* - the creditor organisation identification match response code.\n(MTCH-Match, NMTC-No match, MBAM-Maybe a match, NOAP-Not applicable, NOTC-Not checked)\n\n\nBelow reasons are for *Beneficiary_Account_Verification* check, wherein the beneficiary bank is NOT a data provider and SWIFT has used the pseudonymized account statistics (CBAV) to perform the account number verification:\n\nCBAV:\n\n*INCO, Transactions with this beneficiary account were found in the transaction history and all these transaction were successful or did not fail due to invalid beneficiary account details*\n\n*WARN, In the history there are transactions with this beneficiary account that were rejected due to a problem related to the account*\n\n*NAVL, No transactions with this account found in the transaction history*\n\n\nBelow reasons are for *Category_Purpose_Validation* check:\n\n*CINP_no_category_purpose_data_available* - No category purpose data available in the SWIFT repository for the instructed context. This may relate to the country specific requirements not mandating category purpose codes for the instructed context.\n\n*ICTY_invalid_country* - Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n\n*UPCP_unrecognized_category_purpose* - The instructed payment category purpose subject to validation could not be found in the payment category purpose data available in the SWIFT repository for the instructed payment context.\n\n*VPCP_valid_category_purpose* - The instructed payment category purpose subject has been successfully validated for the instructed payment context.\n\n\nBelow reasons are for *Financial_Institution_Identity_Validation* check:\n\n*CCTY_consistent_country* - The instructed country code matches the country of the payment information that is subject to validation.\n\n*INCT_inconsistent_country* - The instructed country code does not match the country of the payment information that is subject to validation.\n\n*IBIC_invalid_bic* - The instructed financial institution identifier subject to financial institution identity validation is not a  valid BIC for the instructed payment context.\n\n*ICTY_invalid_country* - Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n\n*MCTY_missing_country_code* - Country code is missing from the payment context in order for the validation of the instructed payment information to be performed.\n\n*UCSM_unrecognized_clearing_system_member_identification* - The instructed financial institution identifier subject to financial institution identity validation has not been found in the SWIFT directory for the instructed payment context.\n\n*VBIC_valid_bic* - The instructed financial institution identifier subject to financial institution identity validation is a valid BIC for the instructed payment context.\n\n*VCSM_valid_clearing_system_member_identification* - The instructed financial institution identifier subject to financial institution identity validation is a valid clearing system member identifier for the instructed payment context.\n\n\nBelow reasons are for *Instructed_Amount_Validation* check:\n\n*AALP_amount_above_pmi_limit_per_payment* - The instructed amount subject to validation has exceeded the per-transaction limit imposed by the Payment Market Infrastructure (PMI).\n\n*ABLP_amount_below_pmi_limit_per_payment* - The instructed amount subject to validation is below the per-transaction limit imposed by the Payment Market Infrastructure (PMI).\n\n*DACD_amount_decimals_do_not_match_currency_decimals* - Instructed amount has a number of decimals that is different from the number of decimals advised for the instructed currency.\n\n*DBCD_amount_decimals_match_currency_decimals* - Instructed amount has a number of decimals that matches exactly the number of decimals advised for the instructed currency.\n\n*AWPL_amount_within_pmi_limits* - The instructed amount subject to validation is within the per-transaction limits imposed by the instruct context.\n\n*ICCY_invalid_currency_code* - Instructed currency code is not a valid ISO currency code.\n\n*PMIP_pmi_data_collection_in_progress* - SWIFT is in the process of collecting additional data with regards to the instructed Payment Market Infrastructure.\n\n*UCSI_unrecognized_clearing_system_identification* - Instructed clearing system identifier has not been found in the SWIFT directory for the instructed payment context.\n\n\nBelow reasons are for *Payment_Purpose_Validation* check:\n\n*ICCH_check_not_applied* - The individual payment validation check has not been applied for the instructed context. Other individual payment validation checks are more relevant and will be applied instead.\n\n*ICCY_invalid_currency_code* - Instructed currency code is not a valid ISO currency code.\n\n*ICTY_invalid_country* - Instructed country code is not a valid country code on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n\n*MCCC_missing_currency_code* - Currency code  is missing from the payment context in order for the validation of the instructed payment information to be performed.\n\n*MCSI_missing_clearing_system_identifier* - Clearing system identifier  is missing from the payment context in order for the validation of the instructed payment information to be performed.\n\n*MPPC_missing_payment_purpose_code* - Payment Purpose code has not been instructed for the payment validation to be performed.\n\n*MPPD_missing_purpose_description* - There are specific rules for the provided context that require the presence of the payment purpose description which is missing from the payment purpose validation request.\n\n*PCME_purpose_code_description_max_length_exceeded* - Instructed payment purpose code description has exceeded the mandated maximum length registered in the SWIFT repository for the given context.\n\n*PINP_no_purpose_code_data_available* - No purpose code data available in the SWIFT repository for the instructed context. This may relate to the country specific requirements not mandating purpose codes for the instructed context.\n\n*PPNM_payment_purpose_not_mandatory* - Payment purpose code or description is not mandatory.\n\n*PPNR_payment_purpose_not_mandatory_but_recommended* - Payment purpose code or description is not mandatory but one or both are recommended.\n\n*PPMT_payment_purpose_mandatory_above_pmi_amount_threshold* - Payment purpose code or description is mandatory if the instructed amount is above the amount threshold set by the PMI (Payment Market Infrastructure).\n\n*UCSI_unrecognized_clearing_system_identification* - Instructed clearing system identifier has not been found in the SWIFT directory for the instructed payment context.\n\n*UPPC_unrecognized_purpose_code* - The instructed payment purpose code subject to validation could not be found in the purpose code data available in the SWIFT repository for the instructed payment context.\n\n*VPPC_valid_purpose_code* - The instructed payment purpose code has been successfully validated against the purpose  code list(s) available in the SWIFT repository for the instructed payment context.\n\n*VPPD_valid_purpose_description* - The instructed payment purpose description has been successfully validated according to the specific requirements available in the SWIFT repository for the instructed context.\n",
            "items" : {
              "type" : "string",
              "minLength" : 1,
              "maxLength" : 280
            }
          },
          "result" : {
            "type" : "string",
            "description" : "Result of the validation check.\n\n`ERROR` - The validation performed resulted in invalid result.\n\n`WARNING` - Not completely valid, something is missing or inconsistent.\n\n`N/A` - SWIFT has no data available to validate against.\n\n`VALID` - It has been validated, there is no error nor any missing information.\n\n`service_error` - There was a technical error resulting in a HTTP 400/500 response. These are the back-end service errors encountered when performing a validation and eventually the validation hasn't been performed.\n",
            "enum" : [ "ERROR", "WARNING", "N/A", "VALID", "service_error" ]
          },
          "validated_payment_elements" : {
            "type" : "array",
            "description" : "Details about the specific data elements of the payment instruction that has been validated. This can have the below values:\n\"instructed_amount\"\n\"clearing_system_identification\"\n\"debtor_agent_country\"\n\"creditor_agent.bicfi\"\n\"creditor_agent.clearing_system_member_identification\"\n\"creditor_agent_country\"\n\"creditor_agent_branch_identification\"\n\"creditor.name\"\n\"creditor.postal_address\"\n\"creditor.identification\"\n\"creditor_account\"\n\"purpose_code\"\n\"purpose_description\"\n\"category_purpose_code\"\n",
            "items" : {
              "type" : "string",
              "minLength" : 1,
              "maxLength" : 140
            }
          },
          "additional_information" : {
            "type" : "string",
            "description" : "This is a generic field to return any other relevant detail for the validation performed. One of the use cases identified is for the Beneficiary Account Verification in the Payment Instruction validation service, wherein this field would include the actual Creditor Name from the Creditor Agent if the Creditor Agent verified the name provided in the request.\n",
            "minLength" : 1,
            "maxLength" : 2048,
            "example" : "creditor.name = ABC Limited; credtor.postal_address = 123 Park Street, London, GB; creditor.identification = 12321321"
          }
        },
        "required" : [ "check_type", "validated_by", "status", "reason", "result" ]
      }
    },
    "securitySchemes" : {
      "oauthBearerToken" : {
        "type" : "http",
        "scheme" : "bearer",
        "bearerFormat" : "opaque OAuth 2.0",
        "description" : "The access token obtained as a result of OAuth 2.0 flows. SWIFT supports the below OAuth grant type for the two environments where the API is exposed. \n\n* MV-SIPN - jwt-bearer grant type [RFC 7523](https://tools.ietf.org/html/rfc7523) with Signed JWT assertion\n* Internet - jwt-bearer grant type [RFC 7523](https://tools.ietf.org/html/rfc7523) with Signed JWT assertion\n\nThis API uses JWT-Bearer grant type.\n\nPlease visit [SWIFT OAuth Token API](https://developer.swift.com/swift-oauth-token-api) page for more information and examples on how to generate an OAuth token.\n\nIn this declaration only the basic security element to transport the bearer token of an OAuth2 process is declared.\n"
      }
    },
    "parameters" : {
      "x-bic" : {
        "description" : "BIC of SWIFT as SWIFT is performing the service, centrally.\nThe x-bic value must be swhqbebb. \n",
        "name" : "x-bic",
        "in" : "header",
        "required" : true,
        "schema" : {
          "pattern" : "^[a-z]{6,6}[a-z2-9][a-np-z0-9]$",
          "type" : "string"
        },
        "example" : "swhqbebb"
      },
      "X-Request-ID" : {
        "description" : "Unique end-to-end tracking identifier(ID) of the Payment Pre-validation API service request. Payment Pre-validation Users are not required to fill it in for the Payment Pre-validation API request. SWIFT provide the tracking ID which is an uuid as described in IETF RFC 4122 Universally Unique Identifier (UUID) URN Namespace.Pattern - ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$.      \n",
        "name" : "X-Request-ID",
        "in" : "header",
        "schema" : {
          "type" : "string",
          "format" : "uuid"
        }
      }
    },
    "examples" : {
      "DPReqUseCase-1" : {
        "summary" : "Institution registered as Data Provider that is Live and Active",
        "value" : {
          "bic_institution" : "TGBATRIS"
        }
      },
      "DPReqUseCase-2" : {
        "summary" : "Institution registered as Data Provider that is Live but Inactive",
        "value" : {
          "bic_institution" : "HBUKGB4B",
          "implementation_details" : [ {
            "environment" : "LIVE_live",
            "status" : "INAC_inactive"
          } ]
        }
      },
      "DPReqUseCase-3" : {
        "summary" : "Institution registered as Data Provider that is Active in Pilot mode",
        "value" : {
          "bic_institution" : "PIRBGRAA",
          "implementation_details" : [ {
            "environment" : "PILO_pilot",
            "status" : "ACTI_active"
          } ]
        }
      },
      "DPReqUseCase-4" : {
        "summary" : "All institutions registered as Data Provider that are Live and Active",
        "value" : {
          "implementation_details" : [ {
            "environment" : "LIVE_live",
            "status" : "ACTI_active"
          } ]
        }
      },
      "DPReqUseCase-5" : {
        "summary" : "Institution not registered as Data Provider",
        "value" : {
          "bic_institution" : "PIRBGRDD"
        }
      },
      "DPReqUseCase-6" : {
        "summary" : "Institution not registered as Data Provider that is Live and Active",
        "value" : {
          "bic_institution" : "PIRBGRAA",
          "implementation_details" : [ {
            "environment" : "LIVE_live",
            "status" : "ACTI_active"
          } ]
        }
      },
      "DPResUseCase-1" : {
        "summary" : "Institution registered as Data Provider that is Live and Active",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "BRDP_bic_registered_as_data_provider" ],
          "registered_data_provider" : [ {
            "data_provider_details" : {
              "institution_identification" : {
                "bicfi" : "TGBATRIS",
                "name" : "GARANTI Bank"
              },
              "implementation_details" : [ {
                "environment" : "PILO_pilot",
                "status" : "ACTI_active"
              }, {
                "environment" : "LIVE_live",
                "status" : "ACTI_active"
              } ]
            },
            "related_institution" : [ {
              "institution_identification" : {
                "bicfi" : "TGBAMTMT",
                "name" : "GARANTI Bank"
              },
              "implementation_details" : [ {
                "environment" : "PILO_pilot",
                "status" : "ACTI_active"
              }, {
                "environment" : "LIVE_live",
                "status" : "ACTI_active"
              } ]
            } ]
          } ]
        }
      },
      "DPResUseCase-2" : {
        "summary" : "Institution registered as Data Provider that is Live but Inactive",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "BRDP_bic_registered_as_data_provider" ],
          "registered_data_provider" : [ {
            "data_provider_details" : {
              "institution_identification" : {
                "bicfi" : "HBUKGB4B",
                "name" : "HSBC"
              },
              "implementation_details" : [ {
                "environment" : "LIVE_live",
                "status" : "INAC_inactive"
              } ]
            },
            "related_institution" : [ {
              "institution_identification" : {
                "bicfi" : "MIDLGB22",
                "name" : "HSBC"
              },
              "implementation_details" : [ {
                "environment" : "LIVE_live",
                "status" : "INAC_inactive"
              } ]
            }, {
              "institution_identification" : {
                "bicfi" : "HSBCHKHH",
                "name" : "HSBC"
              },
              "implementation_details" : [ {
                "environment" : "LIVE_live",
                "status" : "INAC_inactive"
              } ]
            }, {
              "institution_identification" : {
                "bicfi" : "BBMEAEAD",
                "name" : "HSBC"
              },
              "implementation_details" : [ {
                "environment" : "LIVE_live",
                "status" : "INAC_inactive"
              } ]
            }, {
              "institution_identification" : {
                "bicfi" : "MRMDUS33",
                "name" : "HSBC"
              },
              "implementation_details" : [ {
                "environment" : "LIVE_live",
                "status" : "INAC_inactive"
              } ]
            } ]
          } ]
        }
      },
      "DPResUseCase-3" : {
        "summary" : "Institution registered as Data Provider that is Active in Pilot mode",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "BRDP_bic_registered_as_data_provider" ],
          "registered_data_provider" : [ {
            "data_provider_details" : {
              "institution_identification" : {
                "bicfi" : "PIRBGRAA",
                "name" : "Piraeus Bank"
              },
              "implementation_details" : [ {
                "environment" : "PILO_pilot",
                "status" : "ACTI_active"
              } ]
            }
          } ]
        }
      },
      "DPResUseCase-4" : {
        "summary" : "All institutions registered as Data Provider that are Live and Active",
        "value" : {
          "status" : "CNPR_could_not_perform",
          "reason" : [ "MITV_missing_bic" ],
          "registered_data_provider" : [ {
            "data_provider_details" : {
              "institution_identification" : {
                "bicfi" : "TGBATRIS",
                "name" : "GARANTI Bank"
              },
              "implementation_details" : [ {
                "environment" : "LIVE_live",
                "status" : "ACTI_active"
              } ]
            },
            "related_institution" : [ {
              "institution_identification" : {
                "bicfi" : "TGBAMTMT",
                "name" : "GARANTI Bank"
              },
              "implementation_details" : [ {
                "environment" : "LIVE_live",
                "status" : "ACTI_active"
              } ]
            } ]
          } ]
        }
      },
      "DPResUseCase-5" : {
        "summary" : "Institution not registered as Data Provider",
        "value" : {
          "status" : "IVAL_invalid",
          "reason" : [ "BNRD_bic_not_registered_as_data_provider" ]
        }
      },
      "DPResUseCase-6" : {
        "summary" : "Institution not registered as Data Provider that is Live and Active",
        "value" : {
          "status" : "IVAL_invalid",
          "reason" : [ "BRDD_bic_not_registered_with_these_details_as_data_provider" ]
        }
      },
      "AFReqUseCase-1" : {
        "summary" : "Valid IBAN",
        "value" : {
          "account_identification" : "DE41500105170123456789"
        }
      },
      "AFReqUseCase-2" : {
        "summary" : "Valid IBAN, consistent country code",
        "value" : {
          "account_identification" : "DE41500105170123456789",
          "country_code" : "DE"
        }
      },
      "AFReqUseCase-3" : {
        "summary" : "Valid IBAN, inconsistent country code",
        "value" : {
          "account_identification" : "DE41500105170123456789",
          "country_code" : "BE"
        }
      },
      "AFReqUseCase-4" : {
        "summary" : "Valid IBAN, consistent financial institution",
        "value" : {
          "account_identification" : "DE41500105170123456789",
          "financial_institution_identification" : "INGDDEFFXXX"
        }
      },
      "AFReqUseCase-5" : {
        "summary" : "Valid IBAN, inconsistent financial institution",
        "value" : {
          "account_identification" : "DE41500105170123456789",
          "financial_institution_identification" : "RGGDDEFFXXX"
        }
      },
      "AFReqUseCase-6" : {
        "summary" : "Valid IBAN, consistent country code, consistent financial institution",
        "value" : {
          "account_identification" : "DE41500105170123456789",
          "country_code" : "DE",
          "financial_institution_identification" : "INGDDEFFXXX"
        }
      },
      "AFReqUseCase-7" : {
        "summary" : "Valid IBAN, inconsistent country code, consistent financial institution",
        "value" : {
          "account_identification" : "DE41500105170123456789",
          "country_code" : "BE",
          "financial_institution_identification" : "INGDDEFFXXX"
        }
      },
      "AFReqUseCase-8" : {
        "summary" : "Valid IBAN, inconsistent country code, inconsistent financial institution",
        "value" : {
          "account_identification" : "DE41500105170123456789",
          "country_code" : "BE",
          "financial_institution_identification" : "RGGDDEFFXXX"
        }
      },
      "AFReqUseCase-9" : {
        "summary" : "Valid IBAN, consistent country, inconsistent financial institution",
        "value" : {
          "account_identification" : "DE41500105170123456789",
          "country_code" : "DE",
          "financial_institution_identification" : "50010511"
        }
      },
      "AFReqUseCase-10" : {
        "summary" : "Valid BBAN, consistent country code",
        "value" : {
          "account_identification" : "500105170123456789",
          "country_code" : "DE"
        }
      },
      "AFReqUseCase-11" : {
        "summary" : "Invalid IBAN, Invalid BBAN, Invalid bank specific account format",
        "value" : {
          "account_identification" : "500105170123456789",
          "country_code" : "BE"
        }
      },
      "AFReqUseCase-12" : {
        "summary" : "Valid BBAN, consistent country, consistent financial institution",
        "value" : {
          "account_identification" : "500105170123456789",
          "country_code" : "DE",
          "financial_institution_identification" : "INGDDEFFXXX"
        }
      },
      "AFReqUseCase-13" : {
        "summary" : "Valid BBAN, consistent country code, inconsistent financial institution",
        "value" : {
          "account_identification" : "500105170123456789",
          "country_code" : "DE",
          "financial_institution_identification" : "RGGDDEFFXXX"
        }
      },
      "AFReqUseCase-14" : {
        "summary" : "Valid bank specific account format, consistent country, consistent financial institution",
        "value" : {
          "account_identification" : "000000123456",
          "country_code" : "IT",
          "financial_institution_identification" : "BCITITMMXXX"
        }
      },
      "AFResUseCase-1" : {
        "summary" : "Valid IBAN",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "status" : "FVAL_valid",
          "reason" : [ "VIBN_valid_iban" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCTY_missing_country_code" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MFIN_missing_financial_institution_identifier" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-2" : {
        "summary" : "Valid IBAN, consistent country code",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "country_code" : "DE",
          "status" : "FVAL_valid",
          "reason" : [ "VIBN_valid_iban", "CCTY_consistent_country" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "FVAL_valid",
            "reason" : [ "CCTY_consistent_country" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MFIN_missing_financial_institution_identifier" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-3" : {
        "summary" : "Valid IBAN, inconsistent country code",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "country_code" : "DE",
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VIBN_valid_iban", "INCT_inconsistent_country" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "VIBN_valid_iban", "INCT_inconsistent_country" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "MFIN_missing_financial_institution_identifier" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-4" : {
        "summary" : "Valid IBAN, consistent financial institution",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "financial_institution_identification" : {
            "bicfi" : "INGDDEFFXXX",
            "name" : "ING-DIBA AG (RETAIL BANKING)",
            "postal_address" : {
              "post_code" : "60486",
              "town_name" : "FRANKFURT AM MAIN",
              "country" : "DE",
              "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
            }
          },
          "status" : "FVAL_valid",
          "reason" : [ "VIBN_valid_iban", "CFIN_consistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCTY_missing_country_code" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "FVAL_valid",
            "reason" : [ "CFIN_consistent_financial_institution_identification" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-5" : {
        "summary" : "Valid IBAN, inconsistent financial institution",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "financial_institution_identification" : {
            "bicfi" : "INGDDEFFXXX",
            "name" : "ING-DIBA AG (RETAIL BANKING)",
            "postal_address" : {
              "post_code" : "60486",
              "town_name" : "FRANKFURT AM MAIN",
              "country" : "DE",
              "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
            }
          },
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VIBN_valid_iban", "IFIN_inconsistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCTY_missing_country_code" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IFIN_inconsistent_financial_institution_identification" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-6" : {
        "summary" : "Valid IBAN, consistent country code, consistent financial institution",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "country_code" : "DE",
          "financial_institution_identification" : {
            "bicfi" : "INGDDEFFXXX",
            "name" : "ING-DIBA AG (RETAIL BANKING)",
            "postal_address" : {
              "post_code" : "60486",
              "town_name" : "FRANKFURT AM MAIN",
              "country" : "DE",
              "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
            }
          },
          "status" : "FVAL_valid",
          "reason" : [ "VIBN_valid_iban", "CCTY_consistent_country", "CFIN_consistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "FVAL_valid",
            "reason" : [ "CCTY_consistent_country" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "FVAL_valid",
            "reason" : [ "CFIN_consistent_financial_institution_identification" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-7" : {
        "summary" : "Valid IBAN, inconsistent country code, consistent financial institution",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "country_code" : "DE",
          "financial_institution_identification" : {
            "bicfi" : "INGDDEFFXXX",
            "name" : "ING-DIBA AG (RETAIL BANKING)",
            "postal_address" : {
              "post_code" : "60486",
              "town_name" : "FRANKFURT AM MAIN",
              "country" : "DE",
              "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
            }
          },
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VIBN_valid_iban", "INCT_inconsistent_country", "CFIN_consistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "INCT_inconsistent_country" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "FVAL_valid",
            "reason" : [ "CFIN_consistent_financial_institution_identification" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-8" : {
        "summary" : "Valid IBAN, inconsistent country code, inconsistent financial institution",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "country_code" : "DE",
          "financial_institution_identification" : {
            "bicfi" : "INGDDEFFXXX",
            "name" : "ING-DIBA AG (RETAIL BANKING)",
            "postal_address" : {
              "post_code" : "60486",
              "town_name" : "FRANKFURT AM MAIN",
              "country" : "DE",
              "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
            }
          },
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VIBN_valid_iban", "INCT_inconsistent_country", "IFIN_inconsistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "INCT_inconsistent_country" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "IFIN_inconsistent_financial_institution_identification" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-9" : {
        "summary" : "Valid IBAN, consistent country, inconsistent financial institution",
        "value" : {
          "account_identification" : {
            "iban" : "DE41500105170123456789"
          },
          "country_code" : "DE",
          "financial_institution_identification" : {
            "bicfi" : "INGDDEFFXXX",
            "name" : "ING-DIBA AG (RETAIL BANKING)",
            "postal_address" : {
              "post_code" : "60486",
              "town_name" : "FRANKFURT AM MAIN",
              "country" : "DE",
              "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
            }
          },
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VIBN_valid_iban", "CCTY_consistent_country", "IFIN_inconsistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "FVAL_valid",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "FVAL_valid",
            "reason" : [ "CCTY_consistent_country" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IFIN_inconsistent_financial_institution_identification" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VIBN_valid_iban" ]
          } ]
        }
      },
      "AFResUseCase-10" : {
        "summary" : "Valid BBAN, consistent country code",
        "value" : {
          "account_identification" : {
            "other" : {
              "identification" : "500105170123456789"
            }
          },
          "country_code" : "DE",
          "status" : "FVAL_valid",
          "reason" : [ "VBBN_valid_bban", "CCTY_consistent_country" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban", "MFIN_missing_financial_institution_identifier" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "FVAL_valid",
            "reason" : [ "VBBN_valid_bban", "CCTY_consistent_country" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MFIN_missing_financial_institution_identifier" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          } ]
        }
      },
      "AFResUseCase-11" : {
        "summary" : "Invalid IBAN, Invalid BBAN, Invalid bank specific account format",
        "value" : {
          "status" : "IVAL_invalid",
          "reason" : [ "IIBN_invalid_iban", "IBBN_invalid_bban", "IDOM_invalid_domestic_bank_specific" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IBBN_invalid_bban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IBBN_invalid_bban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IDOM_invalid_domestic_bank_specific" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MFIN_missing_financial_institution_identifier" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MFIN_missing_financial_institution_identifier" ]
          } ]
        }
      },
      "AFResUseCase-12" : {
        "summary" : "Valid BBAN, consistent country, consistent financial institution",
        "value" : {
          "account_identification" : {
            "other" : {
              "identification" : "500105170123456789"
            }
          },
          "country_code" : "DE",
          "financial_institution_identification" : {
            "bicfi" : "INGDDEFFXXX",
            "name" : "ING-DIBA AG (RETAIL BANKING)",
            "postal_address" : {
              "post_code" : "60486",
              "town_name" : "FRANKFURT AM MAIN",
              "country" : "DE",
              "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
            }
          },
          "status" : "FVAL_valid",
          "reason" : [ "VBBN_valid_bban", "CCTY_consistent_country", "CFIN_consistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "FVAL_valid",
            "reason" : [ "VBBN_valid_bban", "CCTY_consistent_country" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "FVAL_valid",
            "reason" : [ "CFIN_consistent_financial_institution_identification" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          } ]
        }
      },
      "AFResUseCase-13" : {
        "summary" : "Valid BBAN, consistent country code, inconsistent financial institution",
        "value" : {
          "account_identification" : {
            "other" : {
              "identification" : "500105170123456789"
            }
          },
          "country_code" : "DE",
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VBBN_valid_bban", "CCTY_consistent_country", "IFIN_inconsistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "FVAL_valid",
            "reason" : [ "VBBN_valid_bban", "CCTY_consistent_country" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IFIN_inconsistent_financial_institution_identification" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "VBBN_valid_bban" ]
          } ]
        }
      },
      "AFResUseCase-14" : {
        "summary" : "Valid bank specific account format, consistent country, consistent financial institution",
        "value" : {
          "account_identification" : {
            "other" : {
              "identification" : "000000123456"
            }
          },
          "country_code" : "IT",
          "financial_institution_identification" : {
            "bicfi" : "BCITITMMXXX",
            "name" : "INTESA SANPAOLO SPA",
            "postal_address" : {
              "post_code" : "20121",
              "town_name" : "MILANO",
              "country" : "IT",
              "address_line" : [ "PIAZZA DELLA SCALA 6" ]
            }
          },
          "status" : "FVAL_valid",
          "reason" : [ "VDOM_valid_domestic_bank_specific", "CCTY_consistent_country", "CFIN_consistent_financial_institution_identification" ],
          "validation_check" : [ {
            "code" : "IBAN_iban_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBCO_iban_and_country_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "IBFI_iban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IIBN_invalid_iban" ]
          }, {
            "code" : "BBCO_bban_and_country_check",
            "status" : "IVAL_invalid",
            "reason" : [ "IBBN_invalid_bban" ]
          }, {
            "code" : "BBFI_bban_and_financial_institution_check",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "IBBN_invalid_bban" ]
          }, {
            "code" : "DOCO_domestic_bank_specific_account_and_country_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ]
          }, {
            "code" : "DOFI_domestic_bank_specific_account_and_financial_institution_check",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ]
          }, {
            "code" : "DOCF_domestic_bank_specific_account_and_country_and_financial_institution_check",
            "status" : "FVAL_valid",
            "reason" : [ "VDOM_valid_domestic_bank_specific", "CCTY_consistent_country", "CFIN_consistent_financial_institution_identification" ]
          } ]
        }
      },
      "AFErrUseCase-1" : {
        "summary" : "Bad syntax - Account identification max length exceeded",
        "value" : {
          "severity" : "Fatal",
          "code" : "CANT",
          "text" : "account_identification exceeds maximum length of 34"
        }
      },
      "AFErrUseCase-2" : {
        "summary" : "Bad syntax - country code",
        "value" : {
          "severity" : "Fatal",
          "code" : "CANT",
          "text" : "country_code has invalid format"
        }
      },
      "AFErrUseCase-3" : {
        "summary" : "Bad syntax - financial institution identifier",
        "value" : {
          "severity" : "Fatal",
          "code" : "CANT",
          "text" : "financial_institution_identification  has invalid format"
        }
      },
      "AFErrUseCase-4" : {
        "summary" : "DN check or CRL check failed",
        "value" : {
          "severity" : "Transient",
          "code" : "SwAP599",
          "text" : "Server encountered an unexpected condition and cannot fulfill the request"
        }
      },
      "AFErrUseCase-5" : {
        "summary" : "SWIFTREF API call failed",
        "value" : {
          "severity" : "Transient",
          "code" : "SwAP590",
          "text" : "Service is temporary unavailable (header Retry-After indicates how long to wait before making a follow-up request)"
        }
      },
      "FIReqUseCase-1" : {
        "summary" : "Valid BIC",
        "value" : {
          "financial_institution_identification" : "INGDDEFFXXX"
        }
      },
      "FIReqUseCase-2" : {
        "summary" : "Valid BIC, consistent country",
        "value" : {
          "financial_institution_identification" : "INGDDEFFXXX",
          "country_code" : "DE"
        }
      },
      "FIReqUseCase-3" : {
        "summary" : "Valid BIC, inconsistent country",
        "value" : {
          "financial_institution_identification" : "INGDDEFFXXX",
          "country_code" : "BE"
        }
      },
      "FIReqUseCase-4" : {
        "summary" : "Invalid BIC, missing country code",
        "value" : {
          "financial_institution_identification" : "TXFDDEGFXXX"
        }
      },
      "FIReqUseCase-5" : {
        "summary" : "Valid national identifier",
        "value" : {
          "financial_institution_identification" : "127310101",
          "country_code" : "AE"
        }
      },
      "FIReqUseCase-6" : {
        "summary" : "Invalid BIC, Unrecognized national identifier",
        "value" : {
          "financial_institution_identification" : "127310101",
          "country_code" : "GB"
        }
      },
      "FIResUseCase-1" : {
        "summary" : "Valid BIC",
        "value" : {
          "country_code" : "DE",
          "financial_institution_identification" : {
            "financial_institution_identification" : {
              "bicfi" : "INGDDEFFXXX",
              "name" : "ING-DIBA AG (RETAIL BANKING)",
              "postal_address" : {
                "post_code" : "60486",
                "town_name" : "FRANKFURT AM MAIN",
                "country" : "DE",
                "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
              }
            },
            "office_type" : "HO"
          },
          "status" : "FVAL_valid",
          "reason" : [ "VBIC_valid_bic" ]
        }
      },
      "FIResUseCase-2" : {
        "summary" : "Valid BIC, consistent country",
        "value" : {
          "country_code" : "DE",
          "financial_institution_identification" : {
            "financial_institution_identification" : {
              "bicfi" : "INGDDEFFXXX",
              "name" : "ING-DIBA AG (RETAIL BANKING)",
              "postal_address" : {
                "post_code" : "60486",
                "town_name" : "FRANKFURT AM MAIN",
                "country" : "DE",
                "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
              }
            },
            "office_type" : "HO"
          },
          "status" : "FVAL_valid",
          "reason" : [ "VBIC_valid_bic", "CCTY_consistent_country" ]
        }
      },
      "FIResUseCase-3" : {
        "summary" : "Valid BIC, inconsistent country",
        "value" : {
          "country_code" : "DE",
          "financial_institution_identification" : {
            "financial_institution_identification" : {
              "bicfi" : "INGDDEFFXXX",
              "name" : "ING-DIBA AG (RETAIL BANKING)",
              "postal_address" : {
                "post_code" : "60486",
                "town_name" : "FRANKFURT AM MAIN",
                "country" : "DE",
                "address_line" : [ "THEODOR-HEUSS-ALLEE 2" ]
              }
            },
            "office_type" : "HO"
          },
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VBIC_valid_bic", "INCT_inconsistent_country" ]
        }
      },
      "FIResUseCase-4" : {
        "summary" : "Invalid BIC, missing country code",
        "value" : {
          "status" : "CNPR_could_not_perform",
          "reason" : [ "IBIC_invalid_bic", "MCTY_missing_country_code" ]
        }
      },
      "FIResUseCase-5" : {
        "summary" : "Valid national identifier",
        "value" : {
          "country_code" : "AE",
          "financial_institution_identification" : {
            "financial_institution_identification" : {
              "clearing_system_member_identification" : {
                "member_identification" : "127310101"
              },
              "name" : "National Exchange Co.",
              "postal_address" : {
                "country" : "AE"
              }
            },
            "office_type" : "DB"
          },
          "status" : "FVAL_valid",
          "reason" : [ "VCSM_valid_clearing_system_member_identification" ]
        }
      },
      "FIResUseCase-6" : {
        "summary" : "Invalid BIC, Unrecognized national identifier",
        "value" : {
          "status" : "UNRE_unrecognised",
          "reason" : [ "IBIC_invalid_bic", "UCSM_unrecognized_clearing_system_member_identification" ]
        }
      },
      "PCReqUseCase-1" : {
        "summary" : "Valid purpose code",
        "value" : {
          "purpose_code" : "DEPT",
          "country_code" : "GB"
        }
      },
      "PCReqUseCase-2" : {
        "summary" : "Service could not perform, invalid country code",
        "value" : {
          "purpose_code" : "120056",
          "country_code" : "YY"
        }
      },
      "PCReqUseCase-3" : {
        "summary" : "Service not available, no purpose code data available",
        "value" : {
          "purpose_code" : "1230405",
          "country_code" : "DE"
        }
      },
      "PCReqUseCase-4" : {
        "summary" : "Unrecognized purpose code",
        "value" : {
          "purpose_code" : "1122",
          "country_code" : "GB"
        }
      },
      "PCResUseCase-1" : {
        "summary" : "Valid purpose code",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "VPPC_valid_purpose_code" ],
          "purpose_code" : {
            "id" : "DEPT",
            "description_english" : "Transaction is related to a payment of deposit.",
            "name_english" : "Cash Management > Finance > Depositt"
          },
          "country_code" : "GB"
        }
      },
      "PCResUseCase-2" : {
        "summary" : "Service could not perform, invalid country code",
        "value" : {
          "status" : "CNPR_could_not_perform",
          "reason" : [ "ICTY_invalid_country" ]
        }
      },
      "PCResUseCase-3" : {
        "summary" : "Service not available, no purpose code data available",
        "value" : {
          "status" : "NAVL_not_available",
          "reason" : [ "PINP_no_purpose_code_data_available" ]
        }
      },
      "PCResUseCase-4" : {
        "summary" : "Unrecognized purpose code",
        "value" : {
          "status" : "UNRE_unrecognised",
          "reason" : [ "UPPC_unrecognized_purpose_code" ]
        }
      },
      "PPReqUseCase-1" : {
        "summary" : "Valid payment purpose information, with comments - Valid purpose  code by country ; missing purpose description (optional)",
        "value" : {
          "purpose_code" : "COM",
          "country_code" : "AE"
        }
      },
      "PPReqUseCase-2" : {
        "summary" : "Valid payment purpose information- Valid purpose code by country, valid purpose description (mandatory)",
        "value" : {
          "purpose_code" : "318170",
          "country_code" : "TH",
          "purpose_description" : "Some description in English"
        }
      },
      "PPReqUseCase-3" : {
        "summary" : "Incomplete payment purpose information - Valid purpose  code by country, missing purpose description(mandatory)",
        "value" : {
          "purpose_code" : "2012",
          "country_code" : "ID"
        }
      },
      "PPReqUseCase-4" : {
        "summary" : "Incomplete payment purpose information -  Valid purpose  code by country and currency, missing purpose description (mandatory)",
        "value" : {
          "purpose_code" : "318170",
          "country_code" : "TH",
          "currency_code" : "THB"
        }
      },
      "PPReqUseCase-5" : {
        "summary" : "Valid payment purpose information  - Valid purpose  code by country and clearing system; missing purpose description ( recommended)",
        "value" : {
          "purpose_code" : "DLF",
          "country_code" : "AE",
          "clearing_system_identification" : "AE UAEFTS",
          "currency_code" : "AED"
        }
      },
      "PPReqUseCase-6" : {
        "summary" : "Valid payment purpose information, with comments - Valid purpose  code by country, currency and clearing system;  missing purpose description (recommended)",
        "value" : {
          "purpose_code" : "DLF",
          "country_code" : "AE",
          "clearing_system_identification" : "AE UAESWITCH",
          "currency_code" : "AED"
        }
      },
      "PPReqUseCase-7" : {
        "summary" : "Valid payment purpose information, with comments - Unrecognized purpose code by country (optional); missing purpose description (recommended)",
        "value" : {
          "purpose_code" : "ANNB",
          "country_code" : "US"
        }
      },
      "PPReqUseCase-8" : {
        "summary" : "No purpose code to validate, retrieve the purpose codes available in the SWIFT repository",
        "value" : {
          "country_code" : "US"
        }
      },
      "PPReqUseCase-9" : {
        "summary" : "Service could not perform, invalid country code",
        "value" : {
          "purpose_code" : "INV",
          "country_code" : "YY",
          "purpose_description" : "Some text."
        }
      },
      "PPReqUseCase-10" : {
        "summary" : "Service not available, no purpose data available in SWIFT repository",
        "value" : {
          "purpose_code" : "INV",
          "country_code" : "IT",
          "purpose_description" : "Some text."
        }
      },
      "PPResUseCase-1" : {
        "summary" : "Valid payment purpose information, with comments - Valid purpose code by country; missing purpose description (optional)",
        "value" : {
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements.",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
            "severity" : "WARN_warning",
            "validated_payment_information" : [ "PPCO_payment_purpose_code" ]
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier", "MCCC_missing_currency_code" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier" ],
            "severity" : "WARN_warning"
          } ],
          "purpose_code" : {
            "id" : "COM",
            "name_english" : "Commission > Cross Border & Domestic >"
          },
          "country_code" : "AE"
        }
      },
      "PPResUseCase-2" : {
        "summary" : "Valid payment purpose information - Valid purpose code by country, valid purpose description (mandatory)",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "VPPC_valid_purpose_code", "VPPD_valid_purpose_description" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements.",
            "status" : "FVAL_valid",
            "reason" : [ "VPPC_valid_purpose_code", "VPPD_valid_purpose_description" ],
            "severity" : "INFO_info",
            "validated_payment_information" : [ "PPCO_payment_purpose_code", "PDCO_payment_purpose_description" ]
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code" ],
            "severity" : "INFO_info"
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code", "MCSI_missing_clearing_system_identifier" ],
            "severity" : "INFO_info"
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier" ],
            "severity" : "INFO_info"
          } ],
          "purpose_code" : {
            "id" : "318170",
            "description_english" : "In the case of an overseas bank withdraws Thai baht banknotes from the Thai baht account of a person who lives outside of their own country To send or take out of the country",
            "name_english" : "Withdraw > TH Banknotes > Abroad > Thai baht banknotes and deposit accounts > Withdraw Thai baht banknote to take out of the country",
            "name_local_language" : "อื่น ๆ > ธนบัตรเงินบาทและบัญชีเงินฝาก > ถอนธนบัตรเงินบาทเพื่อนำออกนอกประเทศ",
            "description_local_language" : "กรณีธนาคารที่ตั้งอยู่ในต่างประเทศถอนธนบัตรเงินบาทจากบัญชีเงินบาทของบุคคลที่มีถิ่นที่อยู่นอกประเทศของตนเอง เพื่อส่งหรือนำออกนอกประเทศ"
          },
          "country_code" : "TH",
          "purpose_description" : "Some description in Russian"
        }
      },
      "PPResUseCase-3" : {
        "summary" : "Incomplete payment purpose information - Valid purpose code by country, missing purpose description (mandatory)",
        "value" : {
          "status" : "IVAL_invalid",
          "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country.",
            "status" : "IVAL_invalid",
            "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
            "severity" : "ERRO_error",
            "validated_payment_information" : [ "PPCO_payment_purpose_code" ]
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code" ],
            "severity" : "ERRO_error"
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code", "MCSI_missing_clearing_system_identifier" ],
            "severity" : "ERRO_error"
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier" ],
            "severity" : "ERRO_error"
          } ],
          "purpose_code" : {
            "id" : "2012",
            "description_english" : "Shipment of merchandise into Indonesia",
            "name_english" : "MERCHANDISE TRANSACTIONS > Exports/Imports > Imports, f.o.b. >"
          },
          "country_code" : "ID"
        }
      },
      "PPResUseCase-4" : {
        "summary" : "Incomplete payment purpose information -  Valid purpose  code by country and currency, missing purpose description (mandatory)",
        "value" : {
          "status" : "IVAL_invalid",
          "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country.",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ],
            "severity" : "ERRO_error"
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency.",
            "status" : "IVAL_invalid",
            "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
            "severity" : "ERRO_error",
            "validated_payment_information" : [ "PPCO_payment_purpose_code" ]
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier" ],
            "severity" : "ERRO_error"
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier" ],
            "severity" : "ERRO_error"
          } ],
          "purpose_code" : {
            "id" : "318170",
            "description_english" : "In the case of an overseas bank withdraws Thai baht banknotes from the Thai baht account of a person who lives outside of their own country To send or take out of the country",
            "name_english" : "Withdraw > TH Banknotes > Abroad > Thai baht banknotes and deposit accounts > Withdraw Thai baht banknote to take out of the country",
            "name_local_language" : "อื่น ๆ > ธนบัตรเงินบาทและบัญชีเงินฝาก > ถอนธนบัตรเงินบาทเพื่อนำออกนอกประเทศ",
            "description_local_language" : "กรณีธนาคารที่ตั้งอยู่ในต่างประเทศถอนธนบัตรเงินบาทจากบัญชีเงินบาทของบุคคลที่มีถิ่นที่อยู่นอกประเทศของตนเอง เพื่อส่งหรือนำออกนอกประเทศ"
          },
          "country_code" : "TH",
          "currency_code" : "THB"
        }
      },
      "PPResUseCase-5" : {
        "summary" : "Valid payment purpose information - Valid purpose code by country and clearing system; missing purpose description (recommended)",
        "value" : {
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements.",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency.",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system.",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
            "severity" : "WARN_warning",
            "validated_payment_information" : [ "PPCO_payment_purpose_code" ]
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system.",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ],
            "severity" : "WARN_warning"
          } ],
          "purpose_code" : {
            "id" : "DLF",
            "name_english" : "Debt instruments intragroup loans, foreign deposits >"
          },
          "country_code" : "AE",
          "currency_code" : "AED"
        }
      },
      "PPResUseCase-6" : {
        "summary" : "Valid payment purpose information, with comments - Valid purpose code by country, currency and clearing system;  missing purpose description (recommended)",
        "value" : {
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements.",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency.",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system.",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
            "severity" : "WARN_warning",
            "validated_payment_information" : [ "PPCO_payment_purpose_code" ]
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system.",
            "status" : "NOAP_not_applicable",
            "reason" : [ "ICCH_check_not_applied" ],
            "severity" : "WARN_warning"
          } ],
          "purpose_code" : {
            "id" : "DLF",
            "name_english" : "Debt instruments intragroup loans, foreign deposits >"
          },
          "country_code" : "AE",
          "currency_code" : "AED"
        }
      },
      "PPResUseCase-7" : {
        "summary" : "Valid payment purpose information, with comments - Unrecognized purpose code by country (optional); missing purpose description (recommended)",
        "value" : {
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "PINP_no_purpose_code_data_available", "MPPD_missing_purpose_description" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements.",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "UPPC_unrecognized_purpose_code", "MPPD_missing_purpose_description" ],
            "severity" : "WARN_warning",
            "validated_payment_information" : [ "PPCO_payment_purpose_code" ]
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code", "MCSI_missing_clearing_system_identifier" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier" ],
            "severity" : "WARN_warning"
          } ],
          "available_purpose_code" : [ {
            "id" : "ANN",
            "name_english" : "Annuity >"
          }, {
            "id" : "BUS",
            "name_english" : "Business/Commercial >"
          }, {
            "id" : "DEP",
            "name_english" : "Deposit>"
          }, {
            "id" : "LOA",
            "name_english" : "Loan>"
          }, {
            "id" : "MIS",
            "name_english" : "Miscellaneous >"
          }, {
            "id" : "MOR",
            "name_english" : "Mortgage >"
          }, {
            "id" : "PEN",
            "name_english" : "Pension >"
          }, {
            "id" : "REM",
            "name_english" : "Remittance >"
          }, {
            "id" : "RLS",
            "name_english" : "Rent/Lease >"
          }, {
            "id" : "SAL",
            "name_english" : "Salary/Payroll >"
          }, {
            "id" : "TAX",
            "name_english" : "Tax >"
          } ],
          "country_code" : "US"
        }
      },
      "PPResUseCase-8" : {
        "summary" : "No purpose code to validate, retrieve the purpose codes available in the SWIFT repository",
        "value" : {
          "status" : "CNPR_could_not_perform",
          "reason" : [ "ICCH_check_not_applied", "MPPC_missing_payment_purpose_code", "MPPD_missing_purpose_description" ],
          "available_purpose_code" : [ {
            "id" : "ANN",
            "name_english" : "Annuity"
          }, {
            "id" : "BUS",
            "name_english" : "Business/Commercial"
          }, {
            "id" : "DEP",
            "name_english" : "Deposit"
          }, {
            "id" : "LOA",
            "name_english" : "Loan"
          }, {
            "id" : "MIS",
            "name_english" : "Miscellaneous"
          }, {
            "id" : "MOR",
            "name_english" : "Mortgage"
          }, {
            "id" : "PEN",
            "name_english" : "Pension"
          }, {
            "id" : "REM",
            "name_english" : "Remittance"
          }, {
            "id" : "RLS",
            "name_english" : "Rent/Lease"
          }, {
            "id" : "SAL",
            "name_english" : "Salary/Payroll"
          }, {
            "id" : "TAX",
            "name_english" : "Tax"
          } ],
          "country_code" : "US"
        }
      },
      "PPResUseCase-9" : {
        "summary" : "Service could not perform, invalid country code",
        "value" : {
          "status" : "CNPR_could_not_perform",
          "reason" : [ "ICTY_invalid_country" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "ICCH_check_not_applied" ],
            "severity" : "WARN_warning",
            "validated_payment_information" : [ "PPCO_payment_purpose_code", "PDCO_payment_purpose_description" ]
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier", "MCCC_missing_currency_code" ],
            "severity" : "WARN_warning"
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier" ],
            "severity" : "WARN_warning"
          } ]
        }
      },
      "PPResUseCase-10" : {
        "summary" : "Service not available, no purpose data available in SWIFT repository",
        "value" : {
          "status" : "NAVL_not_available",
          "reason" : [ "PINP_no_purpose_code_data_available", "VPPD_valid_purpose_description" ],
          "validation_check" : [ {
            "code" : "PCCT_purpose_and_country",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements.",
            "status" : "NAVL_not_available",
            "reason" : [ "PINP_no_purpose_code_data_available", "VPPD_valid_purpose_description" ],
            "severity" : "ERRO_error",
            "validated_payment_information" : [ "PPCO_payment_purpose_code", "PDCO_payment_purpose_description" ]
          }, {
            "code" : "PCCC_purpose_and_country_and_currency",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and currency.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCCC_missing_currency_code" ],
            "severity" : "ERRO_error"
          }, {
            "code" : "PCCP_purpose_and_country_and_currency_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier", "MCCC_missing_currency_code" ],
            "severity" : "ERRO_error"
          }, {
            "code" : "PCCS_purpose_and_country_and_clearing_system",
            "description" : "Validation of the instructed payment purpose information against the country specific requirements for the instructed country , currency and clearing system.",
            "status" : "CNPR_could_not_perform",
            "reason" : [ "MCSI_missing_clearing_system_identifier" ],
            "severity" : "ERRO_error"
          } ]
        }
      },
      "CPReqUseCase-1" : {
        "summary" : "Valid category purpose",
        "value" : {
          "category_purpose_code" : "GDSV",
          "country_code" : "SG"
        }
      },
      "CPReqUseCase-2" : {
        "summary" : "Valid category purpose",
        "value" : {
          "category_purpose_code" : "CASH",
          "country_code" : "EG"
        }
      },
      "CPReqUseCase-3" : {
        "summary" : "Service could not perform, invalid country code",
        "value" : {
          "category_purpose_code" : "VO130405",
          "country_code" : "YY"
        }
      },
      "CPReqUseCase-4" : {
        "summary" : "Service not available, no category purpose data available",
        "value" : {
          "category_purpose_code" : "RRCTV",
          "country_code" : "DE"
        }
      },
      "CPResUseCase-1" : {
        "summary" : "Valid category purpose",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "VPCP_valid_category_purpose" ],
          "category_purpose_code" : {
            "id" : "GDSV",
            "description_english" : "Transaction is related to purchase and sale of goods and services.",
            "name_english" : "Commercial > Purchase > Sale Of Goods And Services"
          },
          "country_code" : "SG"
        }
      },
      "CPResUseCase-2" : {
        "summary" : "Valid category purpose",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "VPCP_valid_category_purpose" ],
          "category_purpose_code" : {
            "id" : "CASH",
            "name_english" : "Remittance or any other general Payment"
          },
          "country_code" : "EG"
        }
      },
      "CPResUseCase-3" : {
        "summary" : "Service could not perform, invalid country code",
        "value" : {
          "status" : "CNPR_could_not_perform",
          "reason" : [ "ICTY_invalid_country" ]
        }
      },
      "CPResUseCase-4" : {
        "summary" : "Service not available, no category purpose data available",
        "value" : {
          "status" : "NAVL_not_available",
          "reason" : [ "CINP_no_category_purpose_data_available" ]
        }
      },
      "BAVReqUseCase-1" : {
        "summary" : "Beneficiary Account Verification request",
        "value" : {
          "correlation_identifier" : "112211221122",
          "context" : "BENR",
          "uetr" : "97ed4827-7b6f-4491-a06f-b548d5a7512d",
          "creditor_account" : "7892368367",
          "creditor_name" : "DEF Electronics",
          "creditor_address" : {
            "address_type" : {
              "code" : "ADDR"
            },
            "department" : "Head Office",
            "sub_department" : "Retail Department",
            "street_name" : "1 Park Avenue",
            "building_name" : "Empire State Building",
            "floor" : "1",
            "post_code" : "11232",
            "town_name" : "New York City",
            "country_sub_division" : "New York",
            "country" : "US"
          },
          "creditor_organisation_identification" : {
            "other" : [ {
              "identification" : "887766",
              "scheme_name" : {
                "code" : "TIN"
              },
              "issuer" : "US IRS"
            } ]
          },
          "creditor_agent" : {
            "bicfi" : "AAAAUS2L"
          },
          "creditor_agent_branch_identification" : "NY8877888"
        }
      },
      "DC_1.1.1_Account_Number_Matches_And_Name_Matching_Not_Applicable" : {
        "description" : "A payment transaction to this account number with this creditor name will succeed. The account exists with the creditor agent and can receive funds. The jurisdiction and the market practices in use do not require the creditor agent to check whether the creditor name matches the account holder name. The creditor agent processes the incoming payment without checking that the creditor name corresponds to the account holder name.  \n",
        "value" : {
          "correlation_identifier" : "DC-1.1.1",
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.1.2_Account_Number_Matches_And_Name_Matches" : {
        "description" : "A payment transaction to this account number with this creditor name will succeed. The account exists with the creditor agent and can receive funds. The name provided matches the account holder name.    \n",
        "value" : {
          "correlation_identifier" : "DC-1.1.2",
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "MTCH",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.1.3_Account_Number_Matches_And_Name_Partially_Matches" : {
        "description" : "A payment transaction to this account number with this creditor name will succeed. The account exists with the creditor agent and can receive funds. The account holder matches closely the name provided.\n",
        "value" : {
          "correlation_identifier" : "DC-1.1.3",
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "MBAM",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.1.4_Account_Number_Matches_But_Name_Does_Not_Match" : {
        "description" : "A payment transaction to this account number with this creditor name will succeed. The account exists with the creditor agent and can receive funds. The account holder does not match the name provided; however creditor agent will not verify the creditor name when processing the payment.\n",
        "value" : {
          "correlation_identifier" : "DC-1.1.4",
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NMTC",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.2.1_Account_Number_Matches_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time" : {
        "description" : "A payment transaction to this account number with this creditor name may succeed. The account exists with the creditor agent and is open. Some additional checks, for instance the name check, will be performed at transaction time. Those verifications might still result in the payment not being processed STP. The creditor name was not checked. However, name validation will apply to a payment transaction sent to this account number.\n",
        "value" : {
          "correlation_identifier" : "DC-1.2.1",
          "response" : {
            "account_validation_status" : "INCO",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NOTC",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.2.2_Account_Number_Matches_And_Name_Partially_Matches" : {
        "description" : "A payment transaction to this account number with this creditor name may succeed. The account exists with the creditor agent and is open. Some additional checks, for instance the name check, will be performed at transaction time. Those verifications might still result in the payment not being processed STP. The account holder matches closely the name provided.\n",
        "value" : {
          "correlation_identifier" : "DC-1.2.2",
          "response" : {
            "account_validation_status" : "INCO",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "MBAM",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.2.3_Account_Number_Matches_But_Name_Does_Not_Match" : {
        "description" : "A payment transaction to this account number with this creditor name may succeed. The account exists with the creditor agent and is open. Some additional checks, for instance the name check, will be performed at transaction time. Those verifications might still result in the payment not being processed STP. The account holder does not match the name provided.\n",
        "value" : {
          "correlation_identifier" : "DC-1.2.3",
          "response" : {
            "account_validation_status" : "INCO",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NMTC",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.3_Account_Type_Is_Out_Of_Scope_Of_The_Implementation_OR_Cannot_Be_Serviced" : {
        "description" : "A payment transaction to this account number with this creditor name may succeed. The account probably exists with the creditor agent but it was not verified. Some data providers may not perform account verification for all accounts (for example, retail accounts may not be in scope of the account verification) or may decide to not verify the account. The creditor name validation is not applicable.\n",
        "value" : {
          "correlation_identifier" : "DC-1.3",
          "response" : {
            "account_validation_status" : "INCO",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.4.1_Account_Number_Can_Be_Reallocated_And_Name_Matching_Not_Applicable" : {
        "description" : "A payment transaction to this account number may succeed. Either the account does not exist, or it is not of the right type, or it is blocked or closed. However, there is a high probability that the payment can be reallocated by creditor agent to an alternative appropriate account from the same account holder. The creditor name validation is not applicable.\n",
        "value" : {
          "correlation_identifier" : "DC-1.4.1",
          "response" : {
            "account_validation_status" : "WARN",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.4.2_Account_Number_Can_Be_Reallocated_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time" : {
        "description" : "A payment transaction to this account number may succeed. Either the account does not exist, or it is not of the right type, or it is blocked or closed. However, there is a high probability that the payment can be reallocated by creditor agent to an alternative appropriate account from the same account holder. The creditor name was not checked. However, name validation will apply to a payment transaction sent to this account number.\n",
        "value" : {
          "correlation_identifier" : "DC-1.4.2",
          "response" : {
            "account_validation_status" : "WARN",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "NOTC",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.4.3_Account_Number_Can_Be_Reallocated_And_Name_Matches" : {
        "description" : "A payment transaction to this account number may succeed. Either the account does not exist, or it is not of the right type, or it is blocked or closed. However, there is a high probability that the payment can be reallocated by creditor agent to an alternative appropriate account from the same account holder. The name provided matches the account holder name.\n",
        "value" : {
          "correlation_identifier" : "DC-1.4.3",
          "response" : {
            "account_validation_status" : "WARN",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "MTCH",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.4.4_Account_Number_Can_Be_Reallocated_And_Name_Partially_Matches" : {
        "description" : "A payment transaction to this account number may succeed. Either the account does not exist, or it is not of the right type, or it is blocked or closed. However, there is a high probability that the payment can be reallocated by creditor agent to an alternative appropriate account from the same account holder. The account holder matches closely the name provided.\n",
        "value" : {
          "correlation_identifier" : "DC-1.4.4",
          "response" : {
            "account_validation_status" : "WARN",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "MBAM",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_1.4.5_Account_Number_Can_Be_Reallocated_But_Name_Does_Not_Match" : {
        "description" : "A payment transaction to this account number may succeed. Either the account does not exist, or it is not of the right type, or it is blocked or closed. However, there is a high probability that the payment can be reallocated by creditor agent to an alternative appropriate account from the same account holder. The name provided matches the account holder name. The account holder does not match the name provided.\n",
        "value" : {
          "correlation_identifier" : "DC-1.4.5",
          "response" : {
            "account_validation_status" : "WARN",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "NMTC",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_2.1.1_Account_Number_Is_Not_Valid_And_Name_Matching_Not_Applicable" : {
        "description" : "A payment transaction to this account number will fail. There is a problem with the account due to which it cannot receive funds. Either the account does not exist, or it is not of the right type (for example, mortgage account), or it is blocked or closed. The creditor name validation is not applicable.\n",
        "value" : {
          "correlation_identifier" : "DC-2.1.1",
          "response" : {
            "account_validation_status" : "FAIL",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_2.1.2_Account_Number_Is_Not_Valid_And_Name_Not_Checked_But_Will_Be_Checked_At_Processing_Time" : {
        "description" : "A payment transaction to this account number will fail. There is a problem with the account due to which it cannot receive funds. Either the account does not exist, or it is not of the right type (for example, mortgage account), or it is blocked or closed. The creditor name was not checked. However, name validation will apply to a payment transaction sent to this account number.\n",
        "value" : {
          "correlation_identifier" : "DC-2.1.2",
          "response" : {
            "account_validation_status" : "FAIL",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "NOTC",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_2.2.1_Account_Number_Matches_And_Name_Partially_Matches" : {
        "description" : "A payment transaction to this account number and name will fail. There is no problem with the account, but with creditor name. The jurisdiction, the market practices in use or internal bank rules require the creditor agent to check whether the creditor name matches the account holder name. The creditor agent performed the check, and the names do not correspond. The name provided partially matches the account holder name. As exact name match is required for the creditor agent, the payment will fail or not be processed STP.\n",
        "value" : {
          "correlation_identifier" : "DC-2.2.1",
          "response" : {
            "account_validation_status" : "FAIL",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "MBAM",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_2.2.2_Account_Number_Matches_But_Names_Does_Not_Match" : {
        "description" : "A payment transaction to this account number and name will fail. There is no problem with the account, but with creditor name. The jurisdiction, the market practices in use or internal bank rules require the creditor agent to check whether the creditor name matches the account holder name. The creditor agent performed the check, and the names do not correspond. The name provided does not match the account holder name. As name match is required for the creditor agent, the payment will fail or not be processed STP.\n",
        "value" : {
          "correlation_identifier" : "DC-2.2.2",
          "response" : {
            "account_validation_status" : "FAIL",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NMTC",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_3.1_Account_Found_For_Transactions_That_Did_Not_Fail_Due_To_Invalid_Account_Number" : {
        "description" : "A payment transaction to this account number with this creditor name may succeed. The account has been found in the transaction history as a debtor or as a creditor account. If it was as a creditor account, past transactions with this account were successful or did not fail due to invalid beneficiary account details. In the API response, incomplete (INCO) means that the account number only was validated and other validations (for example, the account holder name) were not performed by CBAV and can be performed by the creditor agent when processing the transaction.\n",
        "value" : {
          "correlation_identifier" : "DC-3.1",
          "response" : {
            "account_validation_status" : "INCO",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "HIST"
          }
        }
      },
      "DC_3.2_Account_Not_Found" : {
        "description" : "A payment transaction to this account number with this creditor name may succeed even though the account has not been found in transaction history for various reasons like a new account or it was excluded from transaction history.\n",
        "value" : {
          "correlation_identifier" : "DC-3.2",
          "response" : {
            "account_validation_status" : "INCO",
            "creditor_account_match" : "NMTC",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "HIST"
          }
        }
      },
      "DC_3.3_Account_Found_For_Transactions_That_Fail_Due_To_Invalid_Account_Number" : {
        "description" : "A payment transaction to this account number with this creditor name may fail. The account has been found in the transaction history and all past transactions with this account used as beneficiary account failed due to invalid beneficiary account details. Based on such response, the requesting bank may verify creditor account number before sending the transaction for execution.\n",
        "value" : {
          "correlation_identifier" : "DC-3.3",
          "response" : {
            "account_validation_status" : "WARN",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "HIST"
          }
        }
      },
      "DC_4.1_Account_Matches_With_Correlation_Id" : {
        "description" : "If the data consumer sets the correlation ID in the API request,  the same correlation ID must be returned in the API response.",
        "value" : {
          "correlation_identifier" : "2bcb053d-3c8b-43f0-8c76-e676407378c4",
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "MTCH",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_5.1_Account_Matches_And_Disclose_Creditor_Name" : {
        "description" : "Data providers can provide the account holder name in the API response to the data consumer. Most data providers said they might provide the account holder name in case of partial match, but they can provide in any case. Data providers can send initials, full name, or a combination of initial and full name (for example, J D or Jane D or J Doe or Jane Doe).\n",
        "value" : {
          "correlation_identifier" : "DC-5.1",
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "creditor_name" : "DEF Electronics",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_5.2_Account_Matches_And_Disclose_Creditor_Account" : {
        "description" : "Disclose creditor account. Data providers can provide an account in the API response to the data consumer. Some data providers can identify that the account is not in the expected account format and choose to return the account in the correct account format. For example, a data consumer sending a BBAN account (00240240 C012 9986 5) to a Switzerland data provider could receive in the API response the same account in the IBAN format (CH250024 0240 C012 9986 5).\n",
        "value" : {
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "creditor_account" : "CH2500240240C01299865",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_5.3_Account_Matches_And_Disclose_Creditor_Account_Type" : {
        "description" : "Data providers can provide the account type in the API response to the data consumer. The account type has 2 values: PRIV when the account is registered for private usage and BUSI when account is registered for business usage. Some data providers can identify the type and choose to return it in the API response.\n",
        "value" : {
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "creditor_account_type" : "BUSI",
            "validation_source" : "ACSV"
          }
        }
      },
      "DC_5.4_Account_Matches_And_Disclose_Creditor_Account_Address" : {
        "description" : "Data providers can provide the account holder address in the API response to the data consumer. They can choose to provide the address either as unstructured (address_line) or structured (the rest of the creditor_address elements). Swift recommends data providers to not disclose the address at this stage as the address matching is not in scope.\n",
        "value" : {
          "response" : {
            "account_validation_status" : "PASS",
            "creditor_account_match" : "MTCH",
            "creditor_name_match" : "NOAP",
            "creditor_address_match" : "NOAP",
            "creditor_organisation_identification_match" : "NOAP",
            "creditor_address" : {
              "address_type" : {
                "code" : "ADDR"
              },
              "department" : "Head Office",
              "sub_department" : "Retail Department",
              "street_name" : "1 Park Avenue",
              "building_name" : "Empire State Building",
              "floor" : "1",
              "post_code" : "11232",
              "town_name" : "New York City",
              "country_sub_division" : "New York",
              "country" : "US"
            },
            "validation_source" : "ACSV"
          }
        }
      },
      "AMReqUseCase-1" : {
        "summary" : "Valid amount format (decimal places) for transfers in West African CFA francs.",
        "value" : {
          "amount" : "6545",
          "currency_code" : "XOF"
        }
      },
      "AMReqUseCase-2" : {
        "summary" : "Valid amount for transfers in Bahraini Dinar through payment market infrastructure:BH Fawateer.",
        "value" : {
          "amount" : "3500,345",
          "currency_code" : "BHD",
          "clearing_system_identification" : "BH FAWATEER"
        }
      },
      "AMReqUseCase-3" : {
        "summary" : "Valid amount, with comments, for transfers in Guinean franc,through payment market infrastructure:SIT-Guinee.",
        "value" : {
          "amount" : "10000000.98",
          "currency_code" : "GNF",
          "clearing_system_identification" : "GN SIT"
        }
      },
      "AMReqUseCase-4" : {
        "summary" : "Amount format (number of decimals) different from the standard currency decimals advised for transfers in Rial Omani.",
        "value" : {
          "amount" : "21000.3459",
          "currency_code" : "OMR"
        }
      },
      "AMReqUseCase-5" : {
        "summary" : "Invalid amount for transfers in Barbados dollar, through payment market infrastructure:Barbados Automated Clearing House.",
        "value" : {
          "amount" : "160000.3459",
          "currency_code" : "BBD",
          "clearing_system_identification" : "BB BACHSI"
        }
      },
      "AMResUseCase-1" : {
        "summary" : "Valid amount format (number of decimals) for transfers in West African CFA francs.",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "DBCD_amount_decimals_match_currency_decimals" ],
          "amount" : {
            "currency" : "XOF",
            "amount" : "6545"
          }
        }
      },
      "AMResUseCase-2" : {
        "summary" : "Valid amount for transfers in Bahraini Dinar through payment market infrastructure:BH Fawateer.",
        "value" : {
          "status" : "FVAL_valid",
          "reason" : [ "DBCD_amount_decimals_match_currency_decimals", "AWPL_amount_within_pmi_limits" ],
          "amount" : {
            "currency" : "BHD",
            "amount" : "3500.345"
          }
        }
      },
      "AMResUseCase-3" : {
        "summary" : "Valid amount, with comments, for transfers in Guinean franc,through payment market infrastructure:SIT-Guinee.",
        "value" : {
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "DACD_amount_decimals_do_not_match_currency_decimals", "AWPL_amount_within_pmi_limits" ],
          "amount" : {
            "currency" : "GNF",
            "amount" : "10000000.98"
          }
        }
      },
      "AMResUseCase-4" : {
        "summary" : "Amount format (number of decimals) different from the standard currency decimals advised for transfers in Rial Omani.",
        "value" : {
          "status" : "CVAL_valid_with_comments",
          "reason" : [ "DACD_amount_decimals_do_not_match_currency_decimals" ]
        }
      },
      "AMResUseCase-5" : {
        "summary" : "Invalid amount for transfers in Barbados dollar, through payment market infrastructure: Barbados Automated Clearing House.",
        "value" : {
          "status" : "IVAL_invalid",
          "reason" : [ "DACD_amount_decimals_do_not_match_currency_decimals", "AALP_amount_above_pmi_limit_per_payment" ]
        }
      },
      "SWGoRequest1" : {
        "value" : {
          "requestor_agent" : {
            "bicfi" : "CCLABEBB"
          },
          "creditor_agent" : {
            "bicfi" : "BANKUS33",
            "clearing_system_member_identification" : {
              "clearing_system_identification" : {
                "code" : "USABA"
              },
              "member_identification" : "122000002"
            }
          },
          "amount" : {
            "value" : "5000",
            "currency" : "EUR"
          },
          "route_sorting" : {
            "sorting_criteria" : "cut-off-time",
            "sorting_order" : "ASC"
          }
        }
      },
      "SWGoResponseScenario1" : {
        "value" : {
          "status" : "FVAL",
          "threshold" : {
            "validation_check" : "FVAL",
            "amount" : {
              "value" : "10000",
              "currency" : "EUR"
            }
          },
          "routes" : [ {
            "servicing_agent" : {
              "bicfi" : "CCLABEBB"
            },
            "channel" : [ {
              "type" : "FPMI",
              "id" : "TGT",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            } ],
            "estimated_time_to_creditor_minutes" : {
              "minimum" : "1",
              "average" : "10",
              "maximum" : "150"
            },
            "minimum_number_of_agents_involved" : "3"
          } ]
        }
      },
      "SWGoResponseScenario2" : {
        "value" : {
          "status" : "FVAL",
          "threshold" : {
            "validation_check" : "FVAL",
            "amount" : {
              "value" : "10000",
              "currency" : "EUR"
            }
          },
          "routes" : [ {
            "servicing_agent" : {
              "bicfi" : "CCLABEBB"
            },
            "channel" : [ {
              "type" : "FPMI",
              "id" : "TGT",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            }, {
              "type" : "FPMI",
              "id" : "EBA",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            }, {
              "type" : "DICO",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            }, {
              "type" : "INTR",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            } ],
            "estimated_time_to_creditor_minutes" : {
              "minimum" : "1",
              "average" : "10",
              "maximum" : "150"
            },
            "minimum_number_of_agents_involved" : "3"
          } ]
        }
      },
      "SWGoResponseScenario3" : {
        "value" : {
          "status" : "FVAL",
          "threshold" : {
            "validation_check" : "FVAL",
            "amount" : {
              "value" : "10000",
              "currency" : "EUR"
            }
          },
          "routes" : [ {
            "servicing_agent" : {
              "bicfi" : "CCLABEBB"
            },
            "channel" : [ {
              "type" : "FPMI",
              "id" : "TGT",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            }, {
              "type" : "FPMI",
              "id" : "EBA",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            }, {
              "type" : "DICO",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            }, {
              "type" : "INTR",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            } ],
            "estimated_time_to_creditor_minutes" : {
              "minimum" : "1",
              "average" : "10",
              "maximum" : "150"
            },
            "minimum_number_of_agents_involved" : "3"
          }, {
            "servicing_agent" : {
              "bicfi" : "BANKUS33"
            },
            "channel" : [ {
              "type" : "NPMI",
              "id" : "FDA",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            }, {
              "type" : "NPMI",
              "id" : "EPN",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            }, {
              "type" : "DICO",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            } ],
            "estimated_time_to_creditor_minutes" : {
              "minimum" : "1",
              "average" : "10",
              "maximum" : "150"
            },
            "minimum_number_of_agents_involved" : "4"
          } ]
        }
      },
      "SWGoResponseScenario4" : {
        "value" : {
          "status" : "IVAL",
          "threshold" : {
            "validation_check" : "IVAL",
            "amount" : {
              "value" : "10000",
              "currency" : "USD"
            }
          },
          "routes" : [ {
            "servicing_agent" : {
              "bicfi" : "CCLABEBB"
            },
            "channel" : [ {
              "type" : "DICO",
              "cut_off_time" : "2022-05-14T15:30:00Z",
              "optimum_cut_off_time" : "2022-05-14T10:30:00Z"
            } ],
            "estimated_time_to_creditor_minutes" : {
              "minimum" : "2",
              "average" : "10",
              "maximum" : "100"
            },
            "minimum_number_of_agents_involved" : "3"
          } ]
        }
      },
      "SWGoResponseScenario5" : {
        "value" : {
          "status" : "IVAL",
          "threshold" : {
            "validation_check" : "IVAL",
            "amount" : {
              "value" : "10000",
              "currency" : "EUR"
            }
          }
        }
      },
      "PayValReq1" : {
        "description" : "This example returns an overall 'ALL VALID' result and the beneficiary bank is a Data Provider.\n",
        "summary" : "Payment validation - ALL VALID result",
        "value" : {
          "uetr" : "97ed4827-7b6f-4491-a06f-b548d5a7512d",
          "instructed_amount" : {
            "currency_code" : "CNY",
            "amount" : "100000.55"
          },
          "clearing_system_identification" : "CIPS",
          "debtor_agent_country" : "GB",
          "creditor_agent" : {
            "bicfi" : "DEUTCNBJ"
          },
          "creditor_agent_country" : "CN",
          "creditor_agent_branch_identification" : "111",
          "creditor" : {
            "name" : "DEF Electronics",
            "postal_address" : {
              "structured" : {
                "street_name" : "1 Main Street",
                "building_name" : "Global Trade Centre",
                "floor" : "50th Floor",
                "post_code" : "10117",
                "town_name" : "Beijing",
                "country" : "CN"
              }
            },
            "identification" : {
              "organisation_identification" : {
                "other" : [ {
                  "identification" : "123456789",
                  "scheme_name" : {
                    "code" : "CUST"
                  },
                  "issuer" : "DEF Group"
                } ]
              }
            }
          },
          "creditor_account" : "78923683674565776767",
          "purpose_code" : "02116",
          "purpose_description" : "Capital item related Payment"
        }
      },
      "PayValReq2" : {
        "description" : "This example returns an overall 'WARNING' result and the beneficiary bank is not a Data Provider.\n",
        "summary" : "Payment validation - WARNING result",
        "value" : {
          "instructed_amount" : {
            "currency_code" : "SGD",
            "amount" : "100.55"
          },
          "clearing_system_identification" : "SG IBG",
          "debtor_agent_country" : "GB",
          "creditor_agent" : {
            "bicfi" : "ANZBSGSX"
          },
          "creditor_agent_country" : "SG",
          "creditor" : {
            "name" : "ABC Holdings",
            "postal_address" : {
              "unstructured" : {
                "address_line" : [ "1 Marina Bay", "Central Plaza", "Singapore", "121323" ],
                "country" : "SG"
              }
            }
          },
          "creditor_account" : "60988381235470",
          "purpose_code" : "IVPT"
        }
      },
      "PayValReq3" : {
        "description" : "This example returns an overall 'ERROR' result as in this scenario payment purpose is mandatory.\n",
        "summary" : "Payment validation for corridor with payment purpose mandatory - ERROR result",
        "value" : {
          "instructed_amount" : {
            "currency_code" : "INR",
            "amount" : "1000.00"
          },
          "clearing_system_identification" : "UPI",
          "debtor_agent_country" : "BE",
          "creditor_agent" : {
            "bicfi" : "IDIBINBB"
          },
          "creditor_agent_country" : "IN",
          "creditor" : {
            "name" : "BCD Limited",
            "postal_address" : {
              "unstructured" : {
                "address_line" : [ "1 Nariman Point", "Central Plaza", "Mumbai", "400001" ],
                "country" : "IN"
              }
            }
          },
          "creditor_account" : "12336836617"
        }
      },
      "PayValRes1" : {
        "description" : "This example returns an overall 'ALL VALID' result due to all of the underlying individual validations returning a valid response.\n\nIn this example for a payment to China, along with the central validations, the creditor account is assumed to be being validated by the creditor agent (BAV) and it is an existing account that is able to receive funds.\n",
        "summary" : "Payment validation - ALL VALID result",
        "value" : {
          "uetr" : "97ed4827-7b6f-4491-a06f-b548d5a7512d",
          "payment_instruction_validation_result" : "ALL_VALID",
          "validation_summary" : {
            "ERROR_count" : "0",
            "WARNING_count" : "0",
            "VALID_count" : "4",
            "N/A_count" : "0",
            "service_error_count" : "0"
          },
          "validations" : [ {
            "check_type" : "Instructed_Amount_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "FVAL_valid",
            "reason" : [ "DBCD_amount_decimals_match_currency_decimals", "AWPL_amount_within_pmi_limits" ],
            "result" : "VALID",
            "validated_payment_elements" : [ "instructed_amount.currency_code", "instructed_amount.amount", "clearing_system_identification" ]
          }, {
            "check_type" : "Financial_Institution_Identity_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "FVAL_valid",
            "reason" : [ "CCTY_consistent_country", "VBIC_valid_bic" ],
            "result" : "VALID",
            "validated_payment_elements" : [ "creditor_agent.bicfi", "creditor_agent_country" ]
          }, {
            "check_type" : "Payment_Purpose_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "FVAL_valid",
            "reason" : [ "VPPC_valid_purpose_code", "VPPD_valid_purpose_description" ],
            "result" : "VALID",
            "validated_payment_elements" : [ "purpose_code", "purpose_description", "creditor_agent_country" ]
          }, {
            "check_type" : "Beneficiary_Account_Verification",
            "validated_by" : "CREDITOR_AGENT",
            "status" : "PASS",
            "reason" : [ "account_validation_status = PASS", "creditor_account_match = MTCH", "creditor_name_match = MTCH", "creditor_address_match = NOAP", "creditor_organisation_identification_match = NOAP" ],
            "result" : "VALID",
            "validated_payment_elements" : [ "creditor_account", "creditor.name", "creditor_agent.bicfi" ],
            "additional_information" : "creditor.name = DEF Electronics Limited"
          } ]
        }
      },
      "PayValRes2" : {
        "description" : "This example returns an overall 'WARNING' result due to some of the underlying individual element validations returning a warning and others returning a valid or not available result. None of the individual element validations resulted in an actual error.\n\nIn this example, the beneficiary bank is assumed to be not a live data provider. Consequently, the creditor account (it's existence) is being validated centrally by SWIFT using the pseudonymized account statistics. In this example, we are assuming that the account was found in the pseudonymized account statistics. In this case, the format of the provided creditor account is also separately validated.\n\nFor Singapore, a reason for payment (purpose description) is recommended. If it is missing then the Payment Purpose validation will result in a warning.\n",
        "summary" : "Payment validation - WARNING result",
        "value" : {
          "payment_instruction_validation_result" : "WARNING",
          "validation_summary" : {
            "ERROR_count" : "0",
            "WARNING_count" : "2",
            "VALID_count" : "3",
            "N/A_count" : "0",
            "service_error_count" : "0"
          },
          "validations" : [ {
            "check_type" : "Account_Format_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "VDOM_valid_domestic_bank_specific", "CCTY_consistent_country", "IFIN_inconsistent_financial_institution_identification" ],
            "result" : "WARNING",
            "validated_payment_elements" : [ "creditor_account", "creditor_agent_country", "creditor_agent.bicfi" ]
          }, {
            "check_type" : "Instructed_Amount_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "FVAL_valid",
            "reason" : [ "DBCD_amount_decimals_match_currency_decimals", "AWPL_amount_within_pmi_limits" ],
            "result" : "VALID",
            "validated_payment_elements" : [ "instructed_amount.currency_code", "instructed_amount.amount", "clearing_system_identification" ]
          }, {
            "check_type" : "Financial_Institution_Identity_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "FVAL_valid",
            "reason" : [ "VBIC_valid_bic", "CCTY_consistent_country" ],
            "result" : "VALID",
            "validated_payment_elements" : [ "creditor_agent.bicfi", "creditor_agent_country" ]
          }, {
            "check_type" : "Payment_Purpose_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "VPPC_valid_purpose_code", "MPPD_missing_purpose_description" ],
            "result" : "WARNING",
            "validated_payment_elements" : [ "creditor_agent_country", "purpose_code", "purpose_description", "instructed_amount.currency_code" ]
          }, {
            "check_type" : "Beneficiary_Account_Verification",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "INCO",
            "reason" : [ "INCO, Transactions with this beneficiary account were found in the transaction history and all these transaction were successful or did not fail due to invalid beneficiary account details" ],
            "result" : "VALID"
          } ]
        }
      },
      "PayValRes3" : {
        "description" : "This example returns an overall 'ERROR' result due to at least one of the underlying individual element validations resulting in an error. Here, the payment purpose validation failed. For India, both a payment purpose code and a payment purpose description are required. Both elements are missing in the provided context.\n\nThe creditor agent IDIBINBB, in this example, is assumed to be a live data provider. So, the validator tried to validate the creditor account directly with the creditor agent using the beneficiary account validation service. Unfortunately, this service returned a technical error as the data provider is assumed to be down or unavailable for some reason. And hence in Validation Summary, the ‘service error count’ is shown as ‘1’.\n\nNote also that no central validation was applied on the account/account format as the data provider is a live data provider.\n",
        "summary" : "Payment validation for corridor with payment purpose mandatory - ERROR result",
        "value" : {
          "payment_instruction_validation_result" : "ERROR",
          "validation_summary" : {
            "ERROR_count" : "1",
            "WARNING_count" : "1",
            "VALID_count" : "2",
            "N/A_count" : "0",
            "service_error_count" : "1"
          },
          "validations" : [ {
            "check_type" : "Account_Format_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "CVAL_valid_with_comments",
            "reason" : [ "VDOM_valid_domestic_bank_specific", "CCTY_consistent_country", "IFIN_inconsistent_financial_institution_identification" ],
            "result" : "WARNING",
            "validated_payment_elements" : [ "creditor_account", "creditor_agent_country", "creditor_agent.bicfi" ]
          }, {
            "check_type" : "Instructed_Amount_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "FVAL_valid",
            "reason" : [ "DBCD_amount_decimals_match_currency_decimals", "AWPL_amount_within_pmi_limits" ],
            "result" : "VALID",
            "validated_payment_elements" : [ "instructed_amount.currency_code", "instructed_amount.amount", "clearing_system_identification" ]
          }, {
            "check_type" : "Financial_Institution_Identity_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "FVAL_valid",
            "reason" : [ "VBIC_valid_bic", "CCTY_consistent_country" ],
            "result" : "VALID",
            "validated_payment_elements" : [ "creditor_agent.bicfi", "creditor_agent_country" ]
          }, {
            "check_type" : "Payment_Purpose_Validation",
            "validated_by" : "SWIFT_CENTRALLY",
            "status" : "IVAL_invalid",
            "reason" : [ "MPPD_missing_purpose_description", "MPPC_missing_purpose_code" ],
            "result" : "ERROR",
            "validated_payment_elements" : [ "creditor_agent_country" ]
          } ]
        }
      },
      "Account_Out_Of_Scope_Of_The_Implementation_OR_Cannot_Be_Serviced" : {
        "summary" : "Account Out Of Scope Of The Implmentation OR Cannot Be Serviced",
        "value" : {
          "severity" : "Fatal",
          "code" : "CANT",
          "text" : "Account requested cannot be verified because of non-existence of integration with the book system where this account is maintained."
        }
      },
      "Data_Provider_Is_Not_Active" : {
        "summary" : "Data Provider Is Not Active",
        "value" : {
          "severity" : "Fatal",
          "code" : "CANT",
          "text" : "The request cannot be processed. The x-bic value provided is not valid."
        }
      },
      "API_Request_Is_Malformed" : {
        "summary" : "API Request Is Malformed",
        "value" : {
          "severity" : "Fatal",
          "code" : "sw.payVal.badRequest",
          "text" : "API request is malformed."
        }
      },
      "Account_Error_Unsupported_Format" : {
        "summary" : "Account Error Unsupported Format",
        "value" : {
          "severity" : "Fatal",
          "code" : "CANT",
          "text" : "Account number format is not supported."
        }
      },
      "BadRequest" : {
        "summary" : "Bad Request",
        "value" : {
          "severity" : "Fatal",
          "code" : "sw.payVal.badRequest",
          "text" : "API request is malformed."
        }
      },
      "InvalidToken" : {
        "summary" : "Invalid Token",
        "value" : {
          "severity" : "Fatal",
          "code" : "SwAP502",
          "text" : "Invalid OAuth access token."
        }
      },
      "InsufficientScope" : {
        "summary" : "Insufficient Scope",
        "value" : {
          "severity" : "Fatal",
          "code" : "SwAP503",
          "text" : "OAuth access token has insufficient scope for the requested service."
        }
      },
      "ServiceNotProvisioned" : {
        "summary" : "Service Not Provisioned",
        "value" : {
          "severity" : "Fatal",
          "code" : "SwAP506",
          "text" : "API service not provisioned."
        }
      },
      "Forbidden" : {
        "summary" : "Forbidden",
        "value" : {
          "severity" : "Fatal",
          "code" : "sw.payVal.forbidden",
          "text" : "Unauthorized to perform the requested operation."
        }
      },
      "NotAcceptable" : {
        "summary" : "Not Acceptable",
        "value" : {
          "severity" : "Fatal",
          "code" : "sw.payVal.notAcceptable",
          "text" : "The API only supports application/json."
        }
      },
      "NotFound" : {
        "summary" : "Not Found",
        "value" : {
          "severity" : "Fatal",
          "code" : "sw.payVal.notFound",
          "text" : "Resource does not exist."
        }
      },
      "TooManyRequest" : {
        "summary" : "Too Many Request",
        "value" : {
          "severity" : "Transient",
          "code" : "SwAP507",
          "text" : "Request cannot be processed at this time. Please try again."
        }
      },
      "InternalServerError" : {
        "summary" : "Internal Server Error",
        "value" : {
          "severity" : "Transient",
          "code" : "sw.payVal.internalServerError",
          "text" : "Server encountered an unexpected condition and cannot fulfill the request."
        }
      },
      "ServiceUnavailable" : {
        "summary" : "Service Unavailable",
        "value" : {
          "severity" : "Transient",
          "code" : "SwAP590",
          "text" : "Service is temporarily unavailable."
        }
      },
      "GatewayTimeout" : {
        "summary" : "Gateway Timeout",
        "value" : {
          "severity" : "Transient",
          "code" : "SwAP591",
          "text" : "Service Provider time out."
        }
      },
      "DefaultError" : {
        "summary" : "Default Error",
        "value" : {
          "severity" : "Fatal",
          "code" : "sw.payVal.defaultError",
          "text" : "Service is temporarily unavailable."
        }
      }
    }
  },
  "security" : [ {
    "oauthBearerToken" : [ ]
  } ]
}
