openapi: 3.0.2
info:
  title: Case Manager - Request For Information
  description: |
      The Request For Information process applies when an underlying transaction is not yet credited and where the payment holder initiates an investigation to obtain additional information in the area of compliance or sanctions, or when the payment holder is not able to execute the payment due to missing information.
      
      ***Release note explaining change between version 7.0.2 and 7.0.1***

      
      In version 7.0.2, there was a correction in the server urls adding the Sandbox server details and changing the base path from Case Manager to Case Management.
  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: 7.0.2
servers:
  - description: Test
    url: https://api-test.swiftnet.sipn.swift.com/swift-casemanagement-RequestForInformation-pilot/v7
  - description: Production
    url: https://api.swiftnet.sipn.swift.com/swift-casemanagement-RequestForInformation/v7
  - description: Sandbox
    url: https://sandbox.swift.com/swift-casemanagement-RequestForInformation/v7
security:
  - oauthBearerToken: [] 
paths:
  /requestforinformation-investigations-requests:
    post:
      tags:
      - create request for information investigation request
      summary: Create request for information investigation request.
      description: This API is used by the requestor to create a request for information investigation request.
      operationId: requestForInformationInvestigationRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestForInformationInvestigationRequest2'
            examples:
              request_for_information_investigation_request_underlying_interbank_unable_to_execute:
                $ref: '#/components/examples/request_for_information_investigation_request_underlying_interbank_unable_to_execute'
              request_for_information_investigation_request_underlying_interbank_compliance:
                $ref: '#/components/examples/request_for_information_investigation_request_underlying_interbank_compliance'
              request_for_information_investigation_request_underlying_interbank_sactions:
                $ref: '#/components/examples/request_for_information_investigation_request_underlying_interbank_sanctions'
      responses:
        '200':
          description: Output returned by Case Manager to requestor that has done a Investigation Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvestigationRequestOutput1'
              examples:
                investigation_request_output:
                  $ref: '#/components/examples/investigation_request_output'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '500':
          $ref: '#/components/responses/500-InternalServerError'
        '503':
          $ref: '#/components/responses/503-ServerUnavailable'
        '504':
          $ref: '#/components/responses/504-GatewayTimeout'
        default:
          $ref: '#/components/responses/500-InternalServerError'
  /requestforinformation-investigations-responses:
    post:
      tags:
      - create request for information investigation response
      summary: Create request for information investigation response.
      description: This API is used by the responder to respond to a request for information investigation request from the requestor.
      operationId: requestForInformationInvestigationResponse
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestForInformationInvestigationResponse1'
            examples:
              request_for_information_investigation_response_underlying_interbank_unable_to_execute:
                $ref: '#/components/examples/request_for_information_investigation_response_underlying_interbank_unable_to_execute'
              request_for_information_investigation_response_underlying_interbank_compliance:
                $ref: '#/components/examples/request_for_information_investigation_response_underlying_interbank_compliance'   
              request_for_information_investigation_response_underlying_interbank_sactions:
                $ref: '#/components/examples/request_for_information_investigation_response_underlying_interbank_sactions' 
      responses:
        '200':
          description: InvestigationResponseOutput
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvestigationResponseOutput1'
              examples:
                investigation_response_output:
                  $ref: '#/components/examples/investigation_response_output'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '500':
          $ref: '#/components/responses/500-InternalServerError'
        '503':
          $ref: '#/components/responses/503-ServerUnavailable'
        '504':
          $ref: '#/components/responses/504-GatewayTimeout'
        default:
          $ref: '#/components/responses/500-InternalServerError'
  /requestforinformation-investigations:
    get:
      tags:
      - get request for information investigation data
      summary: Get request for information investigation data.
      description: This API is used to get all the information related to request for information investigations. The eir_status parameter must be used in combination with the from_date_time and to_date_time parameters and allows to filter on investigations that are still ongoing or already closed. 
      operationId: getRequestForInformationInvestigationData
      parameters:
        - $ref: '#/components/parameters/uetr'
        - $ref: '#/components/parameters/eir'
        - $ref: '#/components/parameters/eir_status'
        - $ref: '#/components/parameters/from_date_time'
        - $ref: '#/components/parameters/to_date_time'
        - $ref: '#/components/parameters/maximum_number'
        - $ref: '#/components/parameters/next'
      responses:
        '200':
          description: Data elements related to a request for information data response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestForInformationInvestigationDataResponse2'
              examples:
                request_for_information_investigation_data:
                  $ref: '#/components/examples/request_for_information_investigation_data'
        '204':
          description: No Content                  
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '500':
          $ref: '#/components/responses/500-InternalServerError'
        '503':
          $ref: '#/components/responses/503-ServerUnavailable'
        '504':
          $ref: '#/components/responses/504-GatewayTimeout'
        default:
          $ref: '#/components/responses/500-InternalServerError'
components:
  schemas:
    AccountIdentification59Choice:
      type: object
      description: Specifies the unique identification of an account as assigned by the account servicer.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          iban:
            #  International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
            $ref: '#/components/schemas/IBAN2007Identifier'
        required:
        - iban
      - type: object
        additionalProperties: false
        properties:
          other_identification:
            #  Unique identification of an account, as assigned by the account servicer, using a non-IBAN account identification.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax34Text'
        required:
        - other_identification
    AccountIdentification69Choice:
      type: object
      description: Specifies the unique identification of an account as assigned by the account servicer.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          iban:
            #  International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
            $ref: '#/components/schemas/IBAN2007Identifier'
        required:
        - iban
      - type: object
        additionalProperties: false
        properties:
          other:
            #  Unique identification of an account, as assigned by the account servicer, using an identification scheme.
            $ref: '#/components/schemas/GenericAccountIdentification2'
        required:
        - other
    AccountSchemeName2Choice:
      type: object
      description: Sets of elements to identify a name of the identification scheme.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Name of the identification scheme, in a coded form as published in an external list.
            $ref: '#/components/schemas/ExternalAccountIdentification1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Name of the identification scheme, in a free text form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        required:
        - proprietary
    ActiveCurrencyAndAmount:
      type: object
      description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
      additionalProperties: false
      properties:
        currency:
          $ref: '#/components/schemas/ActiveCurrencyCode'
        amount:
          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
      - amount
    ActiveCurrencyCode:
      type: string
      pattern: ^[A-Z]{3,3}$
      description: A code allocated to a currency by a Maintenance Agency under an international identification scheme as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
    ActiveOrHistoricCurrencyAndAmount:
      type: object
      description: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.
      additionalProperties: false
      properties:
        currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
        amount:
          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
      - amount
    ActiveOrHistoricCurrencyCode:
      type: string
      pattern: ^[A-Z]{3,3}$
      description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
    AddressType2Code:
      type: string
      description: |-
        Specifies the type of address.
        *`ADDR`-Address is the complete postal address.
        *`PBOX`-Address is a postal office (PO) box.
        *`HOME`-Address is the home address.
        *`BIZZ`-Address is the business address.
        *`MLTO`-Address is the address to which mail is sent.
        *`DLVY`-Address is the address to which delivery is to take place.
      enum:
      - ADDR
      - PBOX
      - HOME
      - BIZZ
      - MLTO
      - DLVY
    AddressType4Choice:
      type: object
      description: Choice of formats for the type of address.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Type of address expressed as a code.
            $ref: '#/components/schemas/AddressType2Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Type of address expressed as a proprietary code.
            $ref: '#/components/schemas/GenericIdentification187'
        required:
        - proprietary
    AnyBICDec2014Identifier:
      type: string
      description: '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)".'
      pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
    BICFIDec2014Identifier:
      type: string
      description: 'Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362: 2014 - "Banking - Banking telecommunication messages - Business identifier code (BIC)".'
      pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
    BranchAndFinancialInstitutionIdentification9:
      type: object
      description: Unique and unambiguous identification of a financial institution or a branch of a financial institution.
      additionalProperties: false
      properties:
        financial_institution_identification:
          #  Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme.
          $ref: '#/components/schemas/FinancialInstitutionIdentification24'
        branch_identification:
          #  'Identifies a specific branch of a financial institution.  Usage: This component should be used in case the identification information in the financial institution component does not provide identification up to branch level.'
          $ref: '#/components/schemas/BranchData6'
      required:
      - financial_institution_identification
    BranchData6:
      type: object
      description: Information that locates and identifies a specific branch of a financial institution.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous identification of a branch of a financial institution.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        lei:
          #  Legal entity identification for the branch of the financial institution.
          $ref: '#/components/schemas/LEIIdentifier'
        name:
          #  Name by which an agent is known and which is usually used to identify that agent.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        postal_address:
          #  Information that locates and identifies a specific address, as defined by postal services.
          $ref: '#/components/schemas/PostalAddress29'
    CASEInvestigationSubType1Code:
      type: string
      description: |-
        Specifies the investigation sub type, used to identify a department within an agent to whom the investigation can be directed to, for routing purposes. It should only be used when the investigation type could logically be directed to different departments within an agent, for example a request for information.
        *`AMLI`-Investigation relates to anti-money laundering.
        *`FCCI`-Investigation relates to financial crimes compliance.
        *`FRAD`-Investigation relates to fraud.
        *`FWTR`-Investigation relates to funds/wire transfer regulation.
        *`SANC`-Investigation relates to sanctions.
        *`UTEX`-Investigation relates to a transaction that cannot be executed.
      enum:
      - AMLI
      - FCCI
      - FRAD
      - FWTR
      - SANC
      - UTEX
    CASE_Amount:
      type: object
      description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
      additionalProperties: false
      properties:
        currency:
          $ref: '#/components/schemas/ActiveCurrencyCode'
        amount:
          type: string
          maxLength: 15
          pattern: ^0*(([0-9]{0,9}\.[0-9]{1,5})|([0-9]{0,10}\.[0-9]{1,4})|([0-9]{0,11}\.[0-9]{1,3})|([0-9]{0,12}\.[0-9]{1,2})|([0-9]{0,13}\.[0-9]{1,1})|([0-9]{0,18}\.)|0*|([0-9]{0,14}))$
      required:
      - currency
      - amount
    CASE_DateTime:
      type: string
      description: "A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm). \r\n\r\nThis representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\r\nNote on the time format:\r\n1) beginning / end of calendar day\r\n00:00:00 = the beginning of a calendar day\r\n24:00:00 = the end of a calendar day\r\n2) fractions of second in time format\r\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\r\n\r\nExample: 2020-07-16T19:20:30.45+01:00"
      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)?$
    CASE_RestrictedFINXMax105Text:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 105 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + .'
      minLength: 1
      maxLength: 105
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
    CASE_RestrictedFINXMax128Text_Extended:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 128 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 128
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CASE_RestrictedFINXMax140Text_Extended:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 140 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 140
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CASE_RestrictedFINXMax16Text_Extended:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 16 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 16
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CASE_RestrictedFINXMax2048Text:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 1025 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + .'
      minLength: 1
      maxLength: 2048
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
    CASE_RestrictedFINXMax2048Text_Extended:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 2048 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 2048
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CASE_RestrictedFINXMax28Text:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 28 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , ‘ + .'
      minLength: 1
      maxLength: 28
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
    CASE_RestrictedFINXMax320Text_Extended:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 320 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 320
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CASE_RestrictedFINXMax34Text:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 34 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.'
      minLength: 1
      maxLength: 34
      pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
    CASE_RestrictedFINXMax35Text:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 35 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , ‘ + .'
      minLength: 1
      maxLength: 35
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
    CASE_RestrictedFINXMax35Text_Extended:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 35 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 35
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CASE_RestrictedFINXMax4Text_Extended:
      type: string
      description: 'Specifies a character string witha minimum length of 1, and a maximum length of 4 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 4
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CASE_RestrictedFINXMax500Text:
      type: string
      description: 'Specifies a character string witha minimum length of 1, and a maximum length of 500 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + .'
      minLength: 1
      maxLength: 500
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
    CASE_RestrictedFINXMax500Text_Extended:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 500 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 500
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CASE_RestrictedFINXMax70Text:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 70 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + .'
      minLength: 1
      maxLength: 70
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
    CASE_RestrictedFINXMax70Text_Extended:
      type: string
      description: 'Specifies a character string with a minimum length of 1, and a maximum length of 70 characters, and limited to character set X, that is, 0-9 a-z A-Z / - ? : ( ) . , '' + . that is extended to support the following additional characters !#$%&*=^_`{|}~";<>@[\]'
      minLength: 1
      maxLength: 70
      pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
    CashAccount209:
      type: object
      description: Provides the details to identify an account.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous identification for the account between the account owner and the account servicer.
          $ref: '#/components/schemas/AccountIdentification59Choice'
        currency:
          #  'Identification of the currency in which the account is held.   Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.'
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
    CashAccount210:
      type: object
      description: Provides the details to identify an account.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous identification for the account between the account owner and the account servicer.
          $ref: '#/components/schemas/AccountIdentification59Choice'
        currency:
          #  'Identification of the currency in which the account is held.   Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.'
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
        proxy:
          #  'Specifies an alternate assumed name for the identification of the account. '
          $ref: '#/components/schemas/ProxyAccountIdentification4'
    CashAccount211:
      type: object
      description: Provides the details to identify an account.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous identification for the account between the account owner and the account servicer.
          $ref: '#/components/schemas/AccountIdentification69Choice'
        type:
          #  Specifies the nature, or use of the account.
          $ref: '#/components/schemas/CashAccountType4Choice'
        currency:
          #  'Identification of the currency in which the account is held.   Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.'
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
        name:
          #  'Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.  Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner''s identity and the account number.'
          $ref: '#/components/schemas/CASE_RestrictedFINXMax70Text'
        proxy:
          #  'Specifies an alternate assumed name for the identification of the account. '
          $ref: '#/components/schemas/ProxyAccountIdentification3'
    CashAccount218:
      type: object
      description: Provides the details to identify an account.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous identification for the account between the account owner and the account servicer.
          $ref: '#/components/schemas/AccountIdentification59Choice'
        currency:
          #  'Identification of the currency in which the account is held.   Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.'
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
      required:
      - identification
    CashAccountType4Choice:
      type: object
      description: Nature or use of the account.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Account type, in a coded form.
            $ref: '#/components/schemas/ExternalCashAccountType1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Nature or use of the account in a proprietary form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        required:
        - proprietary
    ClearingSystemIdentification4Choice:
      type: object
      description: Choice of a clearing system identifier.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Identification of a clearing system, in a coded form as published in an external list.
            $ref: '#/components/schemas/ExternalClearingSystemIdentification1Code'
        required:
        - code
    ClearingSystemMemberIdentification3:
      type: object
      description: Unique identification, as assigned by a clearing system, to unambiguously identify a member of the clearing system.
      additionalProperties: false
      properties:
        clearing_system_identification:
          #  Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed.
          $ref: '#/components/schemas/ClearingSystemIdentification4Choice'
        member_identification:
          #  Identification of a member of a clearing system.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax28Text'
      required:
      - member_identification
    Contact17:
      type: object
      description: Specifies the details of the contact person.
      additionalProperties: false
      properties:
        name_prefix:
          #  Specifies the terms used to formally address a person.
          $ref: '#/components/schemas/NamePrefix2Code'
        name:
          #  Name by which a party is known and which is usually used to identify that party.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        phone_number:
          #  Collection of information that identifies a phone number, as defined by telecom services.
          $ref: '#/components/schemas/PhoneNumber'
        mobile_number:
          #  Collection of information that identifies a mobile phone number, as defined by telecom services.
          $ref: '#/components/schemas/PhoneNumber'
        fax_number:
          #  Collection of information that identifies a FAX number, as defined by telecom services.
          $ref: '#/components/schemas/PhoneNumber'
        email_address:
          #  Address for electronic mail (e-mail).
          $ref: '#/components/schemas/CASE_RestrictedFINXMax2048Text_Extended'
        email_purpose:
          #  Purpose for which an email address may be used.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        job_title:
          #  Title of the function.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        responsibility:
          #  Role of a person in an organisation.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        department:
          #  Identification of a division of a large organisation or building.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax70Text_Extended'
        other:
          type: array
          maxItems: 2
          #  Contact details in another form.
          items:
            $ref: '#/components/schemas/OtherContact2'
        preferred_method:
          #  Preferred method used to reach the contact.
          $ref: '#/components/schemas/PreferredContactMethod1Code'
    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).
    CreditDebitCode:
      type: string
      description: |-
        Specifies if an operation is an increase or a decrease.
        *`CRDT`-Operation is an increase.
        *`DBIT`-Operation is a decrease.
      enum:
      - CRDT
      - DBIT
    CreditorReferenceInformation4:
      type: object
      description: Reference information provided by the creditor to allow the identification of the underlying documents.
      additionalProperties: false
      properties:
        type:
          #  Specifies the type of creditor reference.
          $ref: '#/components/schemas/CreditorReferenceType4'
        reference:
          #  'Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.  Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.  If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor''s reference or payment remittance identification should be quoted in the end-to-end transaction identification.'
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
    CreditorReferenceType3Choice:
      type: object
      description: Specifies the type of document referred by the creditor.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Type of creditor reference, in a coded form.
            $ref: '#/components/schemas/DocumentType3Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Creditor reference type, in a proprietary form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    CreditorReferenceType4:
      type: object
      description: Specifies the type of creditor reference.
      additionalProperties: false
      properties:
        code_or_proprietary:
          #  Coded or proprietary format creditor reference type.
          $ref: '#/components/schemas/CreditorReferenceType3Choice'
        issuer:
          #  Entity that assigns the credit reference type.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
      required:
      - code_or_proprietary
    DateAndPlaceOfBirth3:
      type: object
      description: Date and place of birth of a person.
      additionalProperties: false
      properties:
        birth_date:
          #  Date on which a person is born.
          $ref: '#/components/schemas/ISODate'
        province_of_birth:
          #  Province where a person was born.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        city_of_birth:
          #  City where a person was born.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        country_of_birth:
          #  Country where a person was born.
          $ref: '#/components/schemas/CountryCode'
      required:
      - birth_date
      - city_of_birth
      - country_of_birth
    DatePeriod2:
      type: object
      description: Range of time defined by a start date and an end date.
      additionalProperties: false
      properties:
        from_date:
          #  Start date of the range.
          $ref: '#/components/schemas/ISODate'
        to_date:
          #  End date of the range.
          $ref: '#/components/schemas/ISODate'
      required:
      - from_date
      - to_date
    DiscountAmountAndType2:
      type: object
      description: Specifies the amount with a specific type.
      additionalProperties: false
      properties:
        type:
          #  Specifies the type of the amount.
          $ref: '#/components/schemas/DiscountAmountType2Choice'
        amount:
          #  Amount of money, which has been typed.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
      required:
      - amount
    DiscountAmountType2Choice:
      type: object
      description: Specifies the amount type.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Specifies the amount type, in a coded form.
            $ref: '#/components/schemas/ExternalDiscountAmountType1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Specifies the amount type, in a free-text form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    DocumentAdjustment3:
      type: object
      description: Set of elements used to provide information on the amount and reason of the document adjustment.
      additionalProperties: false
      properties:
        amount:
          #  Amount of money of the document adjustment.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        credit_debit_indicator:
          #  Specifies whether the adjustment must be subtracted or added to the total amount.
          $ref: '#/components/schemas/CreditDebitCode'
        reason:
          #  Specifies the reason for the adjustment.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax4Text_Extended'
        additional_information:
          #  Provides further details on the document adjustment.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
      required:
      - amount
    DocumentLineIdentification2:
      type: object
      description: Identifies the documents referred to in the remittance information.
      additionalProperties: false
      properties:
        type:
          #  Specifies the type of referred document line identification.
          $ref: '#/components/schemas/DocumentLineType2'
        number:
          #  Identification of the type specified for the referred document line.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        related_date:
          #  Date associated with the referred document line.
          $ref: '#/components/schemas/ISODate'
    DocumentLineInformation3:
      type: object
      description: "Provides document line information.\r\n"
      additionalProperties: false
      properties:
        identification:
          type: array
          #  Provides identification of the document line.
          items:
            $ref: '#/components/schemas/DocumentLineIdentification2'
        description:
          #  Description associated with the document line.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax2048Text_Extended'
        amount:
          #  Provides details on the amounts of the document line.
          $ref: '#/components/schemas/RemittanceAmount5'
      required:
      - identification
    DocumentLineType2:
      type: object
      description: Specifies the type of the document line identification.
      additionalProperties: false
      properties:
        code_or_proprietary:
          #  Provides the type details of the referred document line identification.
          $ref: '#/components/schemas/DocumentLineType2Choice'
        issuer:
          #  Identification of the issuer of the reference document line identificationtype.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
      required:
      - code_or_proprietary
    DocumentLineType2Choice:
      type: object
      description: Specifies the type of the document line identification.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Line identification type in a coded form.
            $ref: '#/components/schemas/ExternalDocumentLineType1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Proprietary identification of the type of the remittance document.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    DocumentType3Code:
      type: string
      description: |-
        Specifies a type of financial or commercial document.
        *`RADM`-Document is a remittance advice sent separately from the current transaction.
        *`RPIN`-Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario.
        *`FXDR`-Document is a pre-agreed or pre-arranged foreign exchange transaction to which the payment transaction refers.
        *`DISP`-Document is a dispatch advice.
        *`PUOR`-Document is a purchase order.
        *`SCOR`-Document is a structured communication reference provided by the creditor to identify the referred transaction.
      enum:
      - RADM
      - RPIN
      - FXDR
      - DISP
      - PUOR
      - SCOR
    DocumentType6Code:
      type: string
      description: |-
        Specifies a type of financial or commercial document.
        *`MSIN`-Document is an invoice claiming payment for the supply of metered services, for example gas or electricity supplied to a fixed meter.
        *`CNFA`-Document is a credit note for the final amount settled for a commercial transaction.
        *`DNFA`-Document is a debit note for the final amount settled for a commercial transaction.
        *`CINV`-Document is an invoice.
        *`CREN`-Document is a credit note.
        *`DEBN`-Document is a debit note.
        *`HIRI`-Document is an invoice for the hiring of human resources or renting goods or equipment.
        *`SBIN`-Document is an invoice issued by the debtor.
        *`CMCN`-Document is an agreement between the parties, stipulating the terms and conditions of the delivery of goods or services.
        *`SOAC`-Document is a statement of the transactions posted to the debtor's account at the supplier.
        *`DISP`-Document is a dispatch advice.
        *`BOLD`-Document is a shipping notice.
        *`VCHR`-Document is an electronic payment document.
        *`AROI`-Document is a payment that applies to a specific source document.
        *`TSUT`-Document is a transaction identifier as assigned by the Trade Services Utility.
        *`PUOR`-Document is a purchase order.
      enum:
      - MSIN
      - CNFA
      - DNFA
      - CINV
      - CREN
      - DEBN
      - HIRI
      - SBIN
      - CMCN
      - SOAC
      - DISP
      - BOLD
      - VCHR
      - AROI
      - TSUT
      - PUOR
    EIRData5:
      type: object
      description: "Contains all data related to an EIR.\r\nUsage: Groups all investigation exchanges per EIR.\r\nSpecific for Request for Information."
      additionalProperties: false
      properties:
        eir:
          #  'Unique identifier to provide the end-to-end reference of an investigation. Usage rule: It is the EIR received through the Investigation Request or the EIR computed by the case manager if it was not present in the Investigation Request. Invalid events are also logged with an EIR. '
          $ref: '#/components/schemas/UUIDv4Identifier'
        eir_status:
          #  'Status of the EIR. '
          $ref: '#/components/schemas/Max4Text'
        related_investigation_type:
          type: array
          #  'Other investigation types sharing the same EIR are reported in this field, if applicable. '
          items:
            $ref: '#/components/schemas/Max4Text'
        eir_last_update_date_time:
          #  'Date and time when the last update happens for a given EIR.    The eir last update date time is not updated for invalid events. '
          $ref: '#/components/schemas/ISONormalisedDateTime'
        eir_initiation_date_time:
          #  'Indicates the date and time the EIR is initiated. '
          $ref: '#/components/schemas/ISONormalisedDateTime'
        tracker_transaction:
          #  Contains information related to the underlying tracker transaction.
          $ref: '#/components/schemas/TrackerTransaction1'
        investigation_exchange:
          type: array
          #  An investigation exchange groups together one investigation request and any investigation responses that share the same EIR and message identification. An investigation exchange also includes the tracking details of the investigation request and when applicable of the investigation response(s).
          items:
            $ref: '#/components/schemas/InvestigationExchange5'
      required:
      - eir
      - eir_status
      - eir_last_update_date_time
      - eir_initiation_date_time
      - investigation_exchange
    ErrorMessage:
      type: object
      required:
        - code
        - severity
        - text
      properties:
        severity:
          type: string
          enum:
            - Fatal
            - Transient
            - Logic
        code:
          type: string
        text:
          type: string
        user_message:
          type: string
        more_info:
          type: string
          format: uri 
    Exact4AlphaNumericText:
      type: string
      description: Specifies an alphanumeric string with a length of 4 characters.
      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.\r\nThe list of valid codes is an external code list published separately.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalCashAccountType1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the nature, or use, of the cash account in the format of character string with a maximum length of 4 characters.\r\nThe list of valid codes is an external code list published separately.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalClearingSystemIdentification1Code:
      type: string
      minLength: 1
      maxLength: 5
      description: "Specifies the clearing system identification code, as published in an external clearing system identification code list.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalDiscountAmountType1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the nature, or use, of the amount in the format of character string with a maximum length of 4 characters.\r\nThe list of valid codes is an external code list published separately.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalDocumentLineType1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: Specifies the document line type as published in an external document type code list.
    ExternalFinancialInstitutionIdentification1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the external financial institution identification scheme name code in the format of character string with a maximum length of 4 characters.\r\nThe list of valid codes is an external code list published separately.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalGarnishmentType1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: Specifies the garnishment type as published in an external document type code list.
    ExternalInvestigationAction1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the requested action, as published in an external investigation action code set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalInvestigationActionReason1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the requested action, as published in an external investigation action code set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalInvestigationInstrument1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the type of instrument or product to which the investigation refers, as published in an external investigation instrument code set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalInvestigationReason1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the investigation reason, as published in an external investigation reason code set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalInvestigationReasonSubType1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the investigation reason sub type, as published in an external investigation reason code sub type set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalInvestigationServiceLevel1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the investigation service level, as published in an external investigation service level code set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalInvestigationStatus1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the investigation status, as published in an external investigation status code set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalInvestigationStatusReason1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the reason for the investigation status, as published in an external investigation status reason code set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    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.\r\nThe list of valid codes is an external code list published separately.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalPersonIdentification1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the external person identification scheme name code in the format of character string with a maximum length of 4 characters.\r\nThe list of valid codes is an external code list published separately.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalProxyAccountType1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the external proxy account type code, as published in the proxy account type external code set.\r\nExternal code sets can be downloaded from www.iso20022.org."
    ExternalTaxAmountType1Code:
      type: string
      minLength: 1
      maxLength: 4
      description: "Specifies the nature, or use, of the amount in the format of character string with a maximum length of 4 characters.\r\nThe list of valid codes is an external code list published separately.\r\nExternal code sets can be downloaded from www.iso20022.org."
    FinancialIdentificationSchemeName2Choice:
      type: object
      description: Sets of elements to identify a name of the organisation identification scheme.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Name of the identification scheme, in a coded form as published in an external list.
            $ref: '#/components/schemas/ExternalFinancialInstitutionIdentification1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Name of the identification scheme, in a free text form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    FinancialInstitutionIdentification24:
      type: object
      description: Specifies the details to identify a financial institution.
      additionalProperties: false
      properties:
        bicfi:
          #  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)".
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        clearing_system_member_identification:
          #  Information used to identify a member within a clearing system.
          $ref: '#/components/schemas/ClearingSystemMemberIdentification3'
        lei:
          #  Legal entity identifier of the financial institution.
          $ref: '#/components/schemas/LEIIdentifier'
        name:
          #  Name by which an agent is known and which is usually used to identify that agent.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        postal_address:
          #  Information that locates and identifies a specific address, as defined by postal services.
          $ref: '#/components/schemas/PostalAddress29'
        other:
          #  Unique identification of an agent, as assigned by an institution, using an identification scheme.
          $ref: '#/components/schemas/GenericFinancialIdentification2'
    Garnishment5:
      type: object
      description: Provides remittance information about a payment for garnishment-related purposes.
      additionalProperties: false
      properties:
        type:
          #  Specifies the type of garnishment.
          $ref: '#/components/schemas/GarnishmentType2'
        garnishee:
          #  Ultimate party that owes an amount of money to the (ultimate) creditor, in this case, to the garnisher.
          $ref: '#/components/schemas/PartyIdentification283'
        garnishment_administrator:
          #  Party on the credit side of the transaction who administers the garnishment on behalf of the ultimate beneficiary.
          $ref: '#/components/schemas/PartyIdentification283'
        reference_number:
          #  Reference information that is specific to the agency receiving the garnishment.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        date:
          #  Date of payment which garnishment was taken from.
          $ref: '#/components/schemas/ISODate'
        remitted_amount:
          #  Amount of money remitted for the referred document.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        family_medical_insurance_indicator:
          #  Indicates if the person to whom the garnishment applies (that is, the ultimate debtor) has family medical insurance coverage available.
          $ref: '#/components/schemas/TrueFalseIndicator'
        employee_termination_indicator:
          #  Indicates if the employment of the person to whom the garnishment applies (that is, the ultimate debtor) has been terminated.
          $ref: '#/components/schemas/TrueFalseIndicator'
      required:
      - type
    GarnishmentType2:
      type: object
      description: Specifies the type of garnishment.
      additionalProperties: false
      properties:
        code_or_proprietary:
          #  Provides the type details of the garnishment.
          $ref: '#/components/schemas/GarnishmentType2Choice'
        issuer:
          #  Identification of the issuer of the garnishment type.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
      required:
      - code_or_proprietary
    GarnishmentType2Choice:
      type: object
      description: Specifies the type of garnishment.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  'Garnishment type in a coded form. Would suggest this to be an External Code List to contain: GNCS    Garnishment from a third party payer for Child Support GNDP    Garnishment from a Direct Payer for Child Support GTPP     Garnishment from a third party payer to taxing agency.'
            $ref: '#/components/schemas/ExternalGarnishmentType1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Proprietary identification of the type of garnishment.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    GenericAccountIdentification2:
      type: object
      description: Information related to a generic account identification.
      additionalProperties: false
      properties:
        identification:
          #  Identification assigned by an institution.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax34Text'
        scheme_name:
          #  Name of the identification scheme.
          $ref: '#/components/schemas/AccountSchemeName2Choice'
        issuer:
          #  Entity that assigns the identification.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
      required:
      - identification
    GenericFinancialIdentification2:
      type: object
      description: Information related to an identification of a financial institution.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous identification of a person.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        scheme_name:
          #  Name of the identification scheme.
          $ref: '#/components/schemas/FinancialIdentificationSchemeName2Choice'
        issuer:
          #  Entity that assigns the identification.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
      required:
      - identification
    GenericIdentification187:
      type: object
      description: Information related to an identification, for example, party identification or account identification.
      additionalProperties: false
      properties:
        identification:
          #  Proprietary information, often a code, issued by the data source scheme issuer.
          $ref: '#/components/schemas/Exact4AlphaNumericText'
        issuer:
          #  Entity that assigns the identification.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        scheme_name:
          #  Short textual description of the scheme.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
      required:
      - identification
      - issuer
    GenericIdentification188:
      type: object
      description: Information related to an identification, for example party identification or account identification.
      additionalProperties: false
      properties:
        identification:
          #  Identification assigned by an institution.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        scheme_name:
          #  Name of the identification scheme.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        issuer:
          #  Entity that assigns the identification.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
      required:
      - identification
    GenericOrganisationIdentification4:
      type: object
      description: Information related to an identification of an organisation.
      additionalProperties: false
      properties:
        identification:
          #  Identification assigned by an institution.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        scheme_name:
          #  Name of the identification scheme.
          $ref: '#/components/schemas/OrganisationIdentificationSchemeName3Choice'
        issuer:
          #  Entity that assigns the identification.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
      required:
      - identification
    GenericPersonIdentification3:
      type: object
      description: Information related to an identification of a person.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous identification of a person.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        scheme_name:
          #  Name of the identification scheme.
          $ref: '#/components/schemas/PersonIdentificationSchemeName2Choice'
        issuer:
          #  Entity that assigns the identification.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
      required:
      - identification
    IBAN2007Identifier:
      type: string
      description: The International Bank Account Number is a code used internationally by financial institutions to uniquely identify the account of a customer at a financial institution as described in the 2007 edition of the ISO 13616 standard "Banking and related financial services - International Bank Account Number (IBAN)" and replaced by the more recent edition of the standard.
      pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$
    ISODate:
      type: string
      description: 'A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.'
      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)(?:Z|[+-][01]\d:[0-5]\d)?$
    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.
        Note on the time format:
        1) beginning / end of calendar day
        00:00:00 = the beginning of a calendar day
        24:00:00 = the end of a calendar day
        2) fractions of second in time format
        Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
      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)?$
    ISONormalisedDateTime:
      type: string
      description: an ISODateTime whereby all timezoned dateTime values are UTC.
      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)$
    InvestigationActionReason3:
      type: object
      description: Provides information on the action reason.
      additionalProperties: false
      properties:
        reason:
          #  Specifies the reason for the action.
          $ref: '#/components/schemas/ExternalInvestigationActionReason1Code'
        additional_information:
          type: array
          maxItems: 2
          #  Further details on the action reason.
          items:
            $ref: '#/components/schemas/CASE_RestrictedFINXMax105Text'
      required:
      - reason
    InvestigationData5:
      type: object
      description: Provides the detailed information for the investigation response.
      additionalProperties: false
      properties:
        original_investigation_sequence:
          #  Original investigation sequence as provided in the investigation request.
          $ref: '#/components/schemas/Max3Number'
        original_investigation_reason:
          #  Original investigation reason as provided in the investigation request.
          $ref: '#/components/schemas/ExternalInvestigationReason1Code'
        original_investigation_reason_sub_type:
          #  Original investigation reason sub type as provided in the investigation request.
          $ref: '#/components/schemas/ExternalInvestigationReasonSubType1Code'
        response_data:
          #  Response to the investigation, as provided by the responder.
          $ref: '#/components/schemas/InvestigationDataRecord5Choice'
        related_investigation_data:
          #  Additional information that will be sent seperately to the message such as a copy of a passport.
          $ref: '#/components/schemas/RelatedInvestigationData3'
        response_originator:
          #  'Identification of the agent or party who has originated the response.  Usage: The element should only be provided when different from the Responder.'
          $ref: '#/components/schemas/BICFIDec2014Identifier'
      required:
      - response_data
    InvestigationDataRecord5Choice:
      type: object
      description: Specifies the data elements related to the response to an investigation request.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          transaction_data:
            #  'Provides data related to a request.  Comment:  As the Transaction Data element is expected to be used to provide information not present in CBPR+ pacs UGs, the constraints present in pacs UGs are not implemented in E&I UGs. For example, it is possible to provide for an Agent a Name without the Postal Address, in case it is requested to get the full name while in pacs UGs there is a rule stating that both Name and Postal Address must be provided together. Transaction Data is then a more flexible format.   In Transaction Data, elements typed as text have been restricted to the FIN X character set extended to some additional characters (ie FIN X Extended in pacs UGs). The explicit list of the supported characters is described in the data types. Rationale is that in E&I, the character set is expected to be more flexible than in pacs UGs. Note that in the structured remittance information and in some other elements like postal address in pacs UGs,  FIN X char set extension is already implemented.  In Transaction Data, Cash Account and ClearingSystemIdentification are still limited to FIN X char set.'
            $ref: '#/components/schemas/TransactionAmendment4'
        required:
        - transaction_data
      - type: object
        additionalProperties: false
        properties:
          response_narrative:
            #  Provides additional information about the response in narrative form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax500Text_Extended'
        required:
        - response_narrative
    InvestigationExchange5:
      type: object
      description: Details of an investigation exchange for request for information.
      additionalProperties: false
      properties:
        investigation_exchange_identification:
          #  'Unique identification of the Investigation Exchange. It contains the message identification of the investigation request and corresponding original message identification of the response. '
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        investigation_exchange_status:
          #  Computed exchange status.
          $ref: '#/components/schemas/Max4Text'
        investigation_exchange_status_reason:
          #  'Provides more information on the status reason for the exchange status (if applicable). '
          $ref: '#/components/schemas/Max4Text'
        investigation_request_data:
          type: array
          #  'Details related to an investigation request sent to create an investigation, to request a status update on an open investigation, or to request the closure of an open investigation.  Usage rule: the investigation request details include the requestor to case manager investigation request as well as the request delivered by case manager to the investigation responder.'
          items:
            $ref: '#/components/schemas/InvestigationRequest17'
        investigation_response_data:
          type: array
          #  Details related to the Investigation Response.
          items:
            $ref: '#/components/schemas/InvestigationResponse10'
        investigation_tracking_data:
          type: array
          #  Contains status information related the tracking of the investigation request and if applicable of the investigation response.
          items:
            $ref: '#/components/schemas/InvestigationTrackingData1'
      required:
      - investigation_exchange_identification
      - investigation_exchange_status
      - investigation_request_data
    InvestigationIdentification2:
      type: object
      description: Provides further means of referencing an investigation request.
      additionalProperties: false
      properties:
        requestor_investigation_identification:
          #  Unique identification, as assigned by the requestor, to unambiguously identify the investigation for the requestor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        responder_investigation_identification:
          #  Unique identification, as assigned by the responder, to unambiguously identify the investigation for the responder.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        eir:
          #  Unique identifier to provide the end-to-end reference of an investigation.
          $ref: '#/components/schemas/UUIDv4Identifier'
      required:
      - eir
    InvestigationLocationData3:
      type: object
      description: Provides additional details on the data or documentation.
      additionalProperties: false
      properties:
        method:
          #  Method used to deliver the data or documentation.
          $ref: '#/components/schemas/InvestigationLocationMethod1Code'
        electronic_address:
          #  Electronic address to which an agent has sent the data or documentation.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax2048Text_Extended'
        postal_address:
          #  Postal address to which an agent has sent the data or documentation.
          $ref: '#/components/schemas/NameAndAddress19'
      required:
      - method
    InvestigationLocationMethod1Code:
      type: string
      description: |-
        Specifies the method used to deliver/retrieve the investigation information.
        *`EDIC`-Investigation related data must be sent through Electronic Data Interchange (EDI).
        *`EMAL`-Investigation related data must be sent through e-mail.
        *`FAXI`-Investigation related data must be faxed.
        *`POST`-Investigation related data must be sent through postal services.
        *`SMSM`-Investigation related data must be sent through by phone as a short message service (SMS).
        *`URID`-Investigation related data needs to be sent to a Uniform Resource Identifier (URI). URI is a compact string of characters that uniquely identify an abstract or physical resource. URI's are the super-set of identifiers, such as URLs, email addresses, ftp sites, etc, and as such, provide the syntax for all of the identification schemes.
      enum:
      - EDIC
      - EMAL
      - FAXI
      - POST
      - SMSM
      - URID
    InvestigationReason4:
      type: object
      description: Provides the details reason for the investigation request.
      additionalProperties: false
      properties:
        sequence:
          #  Where the InvestigationData block is repeated this identifies a numeric reference for the Reason that can be used for reconciliation of data.
          $ref: '#/components/schemas/Max3Number'
        reason:
          #  Reason for the investigation being opened.
          $ref: '#/components/schemas/ExternalInvestigationReason1Code'
        reason_sub_type:
          #  'Sub type which further identifies the reason for an investigation being opened.  '
          $ref: '#/components/schemas/ExternalInvestigationReasonSubType1Code'
        request_narrative:
          #  Provides additional information about the request in narrative form.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax500Text'
      required:
      - reason
    InvestigationRequest12:
      type: object
      description: Specifies the details of an investigation request, including identification and type.
      additionalProperties: false
      properties:
        message_identification:
          #  'Point to point reference, as assigned by the requestor, and sent to the responder to unambiguously identify the message. Usage: The requestor has to make sure that MessageIdentification is unique per responder for a pre-agreed period.'
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        requestor_investigation_identification:
          #  Unique identification, as assigned by the requestor, to unambiguously identify the investigation for the requestor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        responder_investigation_identification:
          #  Unique identification, as assigned by the responder, to unambiguously identify the investigation for the responder.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        eir:
          #  Unique identifier to provide the end-to-end reference of an investigation.
          $ref: '#/components/schemas/UUIDv4Identifier'
        request_action:
          #  'Specifies an action the responder should now take in regard to the investigation.  Comment: IF the Action/Code = "RQCL" then a response is always expected in order to avoid the requestor to send multiple status requests about the closure request. '
          $ref: '#/components/schemas/ExternalInvestigationAction1Code'
        request_action_reason:
          #  Provides detailed information on the action reason.  If RequestActionReason/Code is equal to NARR, then AddititionalInformation must be present.
          $ref: '#/components/schemas/InvestigationActionReason3'
        investigation_type:
          #  Type of investigation.
          $ref: '#/components/schemas/InvestigationType3Code'
        investigation_sub_type:
          #  'Sub type of an investigation.  Usage: The investigation sub type element may be used to identify a department within an agent to whom the investigation can be directed to, for routing purposes. It should only be used when the investigation type could logically be directed to different departments within an agent, for example a request for information.'
          $ref: '#/components/schemas/CASEInvestigationSubType1Code'
        underlying_instrument:
          #  Specifies the instrument or product to which the investigation refers.
          $ref: '#/components/schemas/ExternalInvestigationInstrument1Code'
        requestor:
          #  Identification of the agent or party requesting a new investigation is opened.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        responder:
          #  Identification of the agent or party expected to provide a status update for an existing investigation.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
      required:
      - message_identification
      - requestor_investigation_identification
      - eir
      - investigation_type
      - investigation_sub_type
      - underlying_instrument
      - requestor
      - responder
    InvestigationRequest17:
      type: object
      description: Specifies the details of an investigation request. Specific to Request for Information investigation.
      additionalProperties: false
      properties:
        network_reference:
          #  Specifies the reference assigned by Swift to the investigation request.
          $ref: '#/components/schemas/Max50Text'
        message_name_identification:
          #  Identifies the name of the investigation request. Contains by default the value "InvestigationRequest".
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        from:
          #  'Sender BIC of the business request. Further clarification: Requestor to case manager leg: Sender BIC                Case manager to Responder leg: Tracker BIC'
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        to:
          #  'Receiver BIC of the business request.  Further clarification: Requestor to case manager leg:  Tracker BIC                   Case manager to Responder leg: Receiver BIC'
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        requestor:
          #  Identification of the agent or party requesting a new investigation is opened.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        responder:
          #  Identification of the agent or party expected to provide a status update for an existing investigation.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        received_date_time:
          #  Date time when the data is available to the responder.
          $ref: '#/components/schemas/ISONormalisedDateTime'
        event_creation_date_time:
          #  Date time when the event is stored at Swift.
          $ref: '#/components/schemas/ISONormalisedDateTime'
        duplicate_message_reference:
          #  Network reference of the original recorded investigation request.
          $ref: '#/components/schemas/Max50Text'
        valid:
          #  Indicates if there is an error with the investigation request. TRUE means the investigation request is valid (no error), FALSE means the investigation request is invalid (error).
          $ref: '#/components/schemas/TrueFalseIndicator'
        invalidity_reason:
          #  Contains the error code clarifying why the investigation request is not valid.
          $ref: '#/components/schemas/Max4Text'
        invalidity_description:
          #  Contains the error text that corresponds to the error code.
          $ref: '#/components/schemas/Max350Text'
        message_identification:
          #  'Point to point reference, as assigned by the requestor, and sent to the responder to unambiguously identify the message. Usage: The requestor has to make sure that MessageIdentification is unique per responder for a pre-agreed period.'
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        requestor_investigation_identification:
          #  Unique identification, as assigned by the requestor, to unambiguously identify the investigation for the requestor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        responder_investigation_identification:
          #  Unique identification, as assigned by the responder, to unambiguously identify the investigation for the responder.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        eir:
          #  Unique identifier to provide the end-to-end reference of an investigation.
          $ref: '#/components/schemas/UUIDv4Identifier'
        request_action:
          #  Specifies an action the responder should now take in regard to the investigation.
          $ref: '#/components/schemas/ExternalInvestigationAction1Code'
        request_action_reason:
          #  Provides detailed information on the action reason.
          $ref: '#/components/schemas/InvestigationActionReason3'
        investigation_type:
          #  Type of investigation.
          $ref: '#/components/schemas/InvestigationType3Code'
        investigation_sub_type:
          #  'Sub type of an investigation.  Usage: The investigation sub type element may be used to identify a department within an agent to whom the investigation can be directed to, for routing purposes. It should only be used when the investigation type could logically be directed to different departments within an agent, for example a request for information.'
          $ref: '#/components/schemas/CASEInvestigationSubType1Code'
        underlying_instrument:
          #  Specifies the instrument or product to which the investigation refers.
          $ref: '#/components/schemas/ExternalInvestigationInstrument1Code'
        underlying:
          #  Provides details on the payment to which the investigation refers.
          $ref: '#/components/schemas/UnderlyingData5Choice'
        request_originator:
          #  'Identification of the agent or party who has originated the request.  Usage: When the Requestor has forwarded the investigation from another party, it is recommended to provide the RequestOriginator in this element.'
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        service_level:
          #  Specifies a pre-agreed service or level of service between the requestor and responder.
          $ref: '#/components/schemas/ExternalInvestigationServiceLevel1Code'
        investigation_data:
          type: array
          #  Provides all details of the reason for the investigation request.
          items:
            $ref: '#/components/schemas/InvestigationReason4'
      required:
      - message_name_identification
      - from
      - to
      - requestor
      - responder
      - message_identification
      - investigation_type
      - underlying_instrument
      - underlying
    InvestigationRequest18:
      type: object
      description: Specifies the details of an investigation request, including identification and type.
      additionalProperties: false
      properties:
        message_identification:
          #  'Point to point reference, as assigned by the requestor, and sent to the responder to unambiguously identify the message. Usage: The requestor has to make sure that MessageIdentification is unique per responder for a pre-agreed period.'
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        requestor_investigation_identification:
          #  Unique identification, as assigned by the requestor, to unambiguously identify the investigation for the requestor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        responder_investigation_identification:
          #  Unique identification, as assigned by the responder, to unambiguously identify the investigation for the responder.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        eir:
          #  Unique identifier to provide the end-to-end reference of an investigation.
          $ref: '#/components/schemas/UUIDv4Identifier'
        request_action:
          #  'Specifies an action the responder should now take in regard to the investigation.  Comment: IF the Action/Code = "RQCL" then a response is always expected in order to avoid the requestor to send multiple status requests about the closure request. '
          $ref: '#/components/schemas/ExternalInvestigationAction1Code'
        request_action_reason:
          #  Provides detailed information on the action reason.  If RequestActionReason/Code is equal to NARR, then AddititionalInformation must be present.
          $ref: '#/components/schemas/InvestigationActionReason3'
        investigation_type:
          #  Type of investigation.
          $ref: '#/components/schemas/InvestigationType3Code'
        investigation_sub_type:
          #  'Sub type of an investigation.  Usage: The investigation sub type element may be used to identify a department within an agent to whom the investigation can be directed to, for routing purposes. It should only be used when the investigation type could logically be directed to different departments within an agent, for example a request for information.'
          $ref: '#/components/schemas/CASEInvestigationSubType1Code'
        underlying_instrument:
          #  Specifies the instrument or product to which the investigation refers.
          $ref: '#/components/schemas/ExternalInvestigationInstrument1Code'
        requestor:
          #  Identification of the agent or party requesting a new investigation is opened.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        responder:
          #  Identification of the agent or party expected to provide a status update for an existing investigation.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
      required:
      - message_identification
      - eir
      - investigation_type
      - underlying_instrument
      - requestor
      - responder
    InvestigationRequestOutput1:
      type: object
      description: InvestigationRequestOutput
      additionalProperties: false
      properties:
        eir:
          #  Unique identifier to provide the end-to-end reference of an investigation.
          $ref: '#/components/schemas/UUIDv4Identifier'
        requestor_investigation_identification:
          #  Unique identification, as assigned by the requestor, to unambiguously identify the investigation for the requestor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        message_identification:
          #  'Point to point reference, as assigned by the requestor, and sent to the responder to unambiguously identify the message. Usage: In the context of Case Manager, the Message Identification must be unique per EIR per sender of POST. '
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        requestor:
          #  Identification of the agent or party requesting a new investigation is opened.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        responder:
          #  Identification of the agent or party expected to provide a status update for an existing investigation.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
      required:
      - eir
      - requestor_investigation_identification
      - message_identification
      - requestor
      - responder
    InvestigationResponse10:
      type: object
      description: Provides details of the investigation response. Specific to a request for information investigation.
      additionalProperties: false
      properties:
        network_reference:
          #  Specifies the reference assigned by Swift to the investigation response.
          $ref: '#/components/schemas/Max50Text'
        message_name_identification:
          #  Identifies the name of the investigation response. Contains by default the value "InvestigationResponse".
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        from:
          #  'Sender BIC of the business request. Further clarification: Responder to case manager leg: Sender BIC                Case manager to Requestor leg: Tracker BIC'
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        to:
          #  'Receiver BIC of the business request.  Further clarification: Responder to case manager leg:  Tracker BIC                   Case manager to Requestor leg: Receiver BIC'
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        requestor:
          #  Identification of the agent or party requesting a new investigation is opened.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        responder:
          #  Identification of the agent or party expected to provide a status update for an existing investigation.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        received_date_time:
          #  Date time when the data is available to the requestor.
          $ref: '#/components/schemas/ISONormalisedDateTime'
        event_creation_date_time:
          #  Date time when the event is stored at Swift.
          $ref: '#/components/schemas/ISONormalisedDateTime'
        duplicate_message_reference:
          #  Network reference of the original recorded investigation response.
          $ref: '#/components/schemas/Max50Text'
        valid:
          #  Indicates if there is an error with the investigation response. TRUE means the investigation response is valid (no error), FALSE means the investigation response is invalid (error).
          $ref: '#/components/schemas/TrueFalseIndicator'
        invalidity_reason:
          #  Contains the error code clarifying why the investigation response is not valid.
          $ref: '#/components/schemas/Max4Text'
        invalidity_description:
          #  Contains the error text that corresponds to the error code.
          $ref: '#/components/schemas/Max350Text'
        message_identification:
          #  Message identification of the investigation response.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        responder_investigation_identification:
          #  Unique identification, as assigned by the responder, to unambiguously identify the investigation for the responder.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        investigation_status:
          #  Status of the investigation request.
          $ref: '#/components/schemas/ExternalInvestigationStatus1Code'
        investigation_status_reason:
          #  Reason for the investigation status.
          $ref: '#/components/schemas/InvestigationStatusReason2Choice'
        investigation_data:
          type: array
          #  Provides all details of the reason for the investigation request.
          items:
            $ref: '#/components/schemas/InvestigationData5'
        original_investigation_request:
          #  Unambiguous identification of the original investigation request.
          $ref: '#/components/schemas/InvestigationRequest18'
      required:
      - message_name_identification
      - from
      - to
      - requestor
      - responder
      - investigation_status
      - original_investigation_request
    InvestigationResponseOutput1:
      type: object
      description: InvestigationResponseOutput
      additionalProperties: false
      properties:
        eir:
          #  Unique identifier to provide the end-to-end reference of an investigation.
          $ref: '#/components/schemas/UUIDv4Identifier'
        requestor_investigation_identification:
          #  Unique identification, as assigned by the requestor, to unambiguously identify the investigation for the requestor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        responder_investigation_identification:
          #  Unique identification, as assigned by the responder, to unambiguously identify the investigation for the responder.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_message_identification:
          #  'Point to point reference, as assigned by the requestor, and sent to the responder to unambiguously identify the (investigation request) message.  '
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        message_identification:
          #  'Point to point reference, as assigned by the responder, and sent to the requestor to unambiguously identify the (response) message.  '
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        requestor:
          #  Identification of the agent or party requesting a new investigation is opened.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        responder:
          #  Identification of the agent or party expected to provide a status update for an existing investigation.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        investigation_status:
          #  Status of the investigation request.
          $ref: '#/components/schemas/ExternalInvestigationStatus1Code'
        investigation_status_reason:
          #  Reason for the investigation status.
          $ref: '#/components/schemas/InvestigationStatusReason2Choice'
      required:
      - eir
      - requestor_investigation_identification
      - original_message_identification
      - message_identification
      - requestor
      - responder
      - investigation_status
    InvestigationStatusReason2Choice:
      type: object
      description: Specifies the reason for the investigation status.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Status reason, in coded form.
            $ref: '#/components/schemas/ExternalInvestigationStatusReason1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Status reason, in a proprietary form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        required:
        - proprietary
    InvestigationTrackingData1:
      type: object
      description: Tracking details in relation to an investigation.
      additionalProperties: false
      properties:
        network_reference:
          #  Specifies the reference assigned by Swift to the investigation notification.
          $ref: '#/components/schemas/Max50Text'
        message_identification:
          #  Message identification of the notification.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        message_name_identification:
          #  Identifies the name of the investigation notification. Contains by default the value 'NotificationInformation'
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        from:
          #  Sender BIC of the business request. Tracker BIC.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        to:
          #  Receiver BIC of the business request.  Requestor or Responder BIC.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        event_creation_date_time:
          #  Date time when the event is stored at Swift.
          $ref: '#/components/schemas/ISONormalisedDateTime'
        investigation_tracking_status:
          #  Specifies the tracking status of the investigation request and if applicable of the investigation response.
          $ref: '#/components/schemas/Max4Text'
        investigation_tracking_status_reason:
          #  Provides more details on the reason for the investigation tracking status, if applicable.
          $ref: '#/components/schemas/Max4Text'
        requestor:
          #  Identification of the agent or party requesting a new investigation is opened.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        responder:
          #  Identification of the agent or party expected to provide a status update for an existing investigation.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        tracked_message_identification:
          #  Provides information on the original investigation request and if applicable on the original investigation response message.
          $ref: '#/components/schemas/TrackedMessageIdentification1'
        investigation_identification:
          #  Set of elements used to reference the investigation request.
          $ref: '#/components/schemas/InvestigationIdentification2'
      required:
      - network_reference
      - message_identification
      - message_name_identification
      - from
      - to
      - event_creation_date_time
      - investigation_tracking_status
      - requestor
      - responder
      - tracked_message_identification
      - investigation_identification
    InvestigationType3Code:
      type: string
      description: |-
        Type of request for information investigation.
        *`RQFI`-Identifies that the investigation is a request for information in the area of unable to execute, sanctions or compliance.
      enum:
      - RQFI
    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}$
    Max350Text:
      type: string
      description: Specifies a character string with a maximum length of 350 characters.
      minLength: 1
      maxLength: 350
    Max3Number:
      type: string
      description: Number (max 999) of objects represented as an integer.
      maxLength: 4
    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
    NameAndAddress19:
      type: object
      description: Information that locates and identifies a party.
      additionalProperties: false
      properties:
        name:
          #  Name by which a party is known and is usually used to identify that party.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        address:
          #  Postal address of a party.
          $ref: '#/components/schemas/PostalAddress29'
      required:
      - name
      - address
    NamePrefix2Code:
      type: string
      description: |-
        Specifies the terms used to formally address a person.
        *`DOCT`-Title of the person is Doctor or Dr.
        *`MADM`-Title of the person is Madam.
        *`MISS`-Title of the person is Miss.
        *`MIST`-Title of the person is Mister or Mr.
        *`MIKS`-Title of the person is gender neutral (Mx).
      enum:
      - DOCT
      - MADM
      - MISS
      - MIST
      - MIKS
    Number:
      type: string
      description: Number of objects represented as an integer.
      maxLength: 19
    OrganisationIdentification42:
      type: object
      description: Unique and unambiguous way to identify an organisation.
      additionalProperties: false
      properties:
        any_bic:
          #  Business identification code of the organisation.
          $ref: '#/components/schemas/AnyBICDec2014Identifier'
        lei:
          #  Legal entity identification as an alternate identification for a party.
          $ref: '#/components/schemas/LEIIdentifier'
        other:
          type: array
          #  Unique identification of an organisation, as assigned by an institution, using an identification scheme.
          items:
            $ref: '#/components/schemas/GenericOrganisationIdentification4'
    OrganisationIdentificationSchemeName3Choice:
      type: object
      description: Sets of elements to identify a name of the organisation identification scheme.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Name of the identification scheme, in a coded form as published in an external list.
            $ref: '#/components/schemas/ExternalOrganisationIdentification1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Name of the identification scheme, in a free text form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    OtherContact2:
      type: object
      description: Communication device number or electronic address used for communication.
      additionalProperties: false
      properties:
        channel_type:
          #  Method used to contact the financial institution’s contact for the specific tax region.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax4Text_Extended'
        identification:
          #  Communication value such as phone number or email address.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax128Text_Extended'
      required:
      - channel_type
    Party57Choice:
      type: object
      description: Nature or use of the account.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          organisation_identification:
            #  Unique and unambiguous way to identify an organisation.
            $ref: '#/components/schemas/OrganisationIdentification42'
        required:
        - organisation_identification
      - type: object
        additionalProperties: false
        properties:
          private_identification:
            #  Unique and unambiguous identification of a person, for example a passport.
            $ref: '#/components/schemas/PersonIdentification21'
        required:
        - private_identification
    PartyIdentification283:
      type: object
      description: Specifies the identification of a person or an organisation.
      additionalProperties: false
      properties:
        name:
          #  Name by which a party is known and which is usually used to identify that party.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        postal_address:
          #  Information that locates and identifies a specific address, as defined by postal services.
          $ref: '#/components/schemas/PostalAddress29'
        identification:
          #  Unique and unambiguous identification of a party.
          $ref: '#/components/schemas/Party57Choice'
        country_of_residence:
          #  Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.
          $ref: '#/components/schemas/CountryCode'
        contact_details:
          #  Set of elements used to indicate how to contact the party.
          $ref: '#/components/schemas/Contact17'
    PercentageRate:
      type: string
      description: Rate expressed as a percentage, that is, in hundredths, for example, 0.7 is 7/10 of a percent, and 7.0 is 7%.
      maxLength: 12
    PersonIdentification21:
      type: object
      description: Unique and unambiguous way to identify a person.
      additionalProperties: false
      properties:
        date_and_place_of_birth:
          #  Date and place of birth of a person.
          $ref: '#/components/schemas/DateAndPlaceOfBirth3'
        other:
          type: array
          #  Unique identification of a person, as assigned by an institution, using an identification scheme.
          items:
            $ref: '#/components/schemas/GenericPersonIdentification3'
    PersonIdentificationSchemeName2Choice:
      type: object
      description: Sets of elements to identify a name of the identification scheme.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Name of the identification scheme, in a coded form as published in an external list.
            $ref: '#/components/schemas/ExternalPersonIdentification1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Name of the identification scheme, in a free text form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    PhoneNumber:
      type: string
      description: |-
        The collection of information which identifies a specific phone or FAX number as defined by telecom services.
        It 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}$
    PostalAddress29:
      type: object
      description: Information that locates and identifies a specific address, as defined by postal services.
      additionalProperties: false
      properties:
        address_type:
          #  Identifies the nature of the postal address.
          $ref: '#/components/schemas/AddressType4Choice'
        department:
          #  Identification of a division of a large organisation or building.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax70Text_Extended'
        sub_department:
          #  Identification of a sub-division of a large organisation or building.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax70Text_Extended'
        street_name:
          #  Name of a street or thoroughfare.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax70Text_Extended'
        building_number:
          #  Number that identifies the position of a building on a street.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax16Text_Extended'
        building_name:
          #  Name of the building or house.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        floor:
          #  Floor or storey within a building.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax70Text_Extended'
        post_box:
          #  Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax16Text_Extended'
        room:
          #  Building room number.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax70Text_Extended'
        post_code:
          #  Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax16Text_Extended'
        town_name:
          #  Name of a built-up area, with defined boundaries, and a local government.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        town_location_name:
          #  Specific location name within the town.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        district_name:
          #  Identifies a subdivision within a country sub-division.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        country_sub_division:
          #  Identifies a subdivision of a country such as state, region, county.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        country:
          #  Nation with its own government.
          $ref: '#/components/schemas/CountryCode'
        address_line:
          type: array
          maxItems: 7
          #  Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
          items:
            $ref: '#/components/schemas/CASE_RestrictedFINXMax70Text_Extended'
    PreferredContactMethod1Code:
      type: string
      description: |-
        Preferred method used to reach the individual contact within an organisation.
        *`LETT`-Preferred method used to reach the contact is per letter.
        *`MAIL`-Preferred method used to reach the contact is per email.
        *`PHON`-Preferred method used to reach the contact is per phone.
        *`FAXX`-Preferred method used to reach the contact is per fax.
        *`CELL`-Preferred method used to reach the contact is per mobile or cell phone.
      enum:
      - LETT
      - MAIL
      - PHON
      - FAXX
      - CELL
    ProxyAccountIdentification3:
      type: object
      description: Information related to a proxy  identification of the account.
      additionalProperties: false
      properties:
        type:
          #  Type of the proxy identification.
          $ref: '#/components/schemas/ProxyAccountType3Choice'
        identification:
          #  Identification used to indicate the account identification under another specified name.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax2048Text_Extended'
      required:
      - identification
    ProxyAccountIdentification4:
      type: object
      description: Information related to a proxy  identification of the account.
      additionalProperties: false
      properties:
        type:
          #  Type of the proxy identification.
          $ref: '#/components/schemas/ProxyAccountType3Choice'
        identification:
          #  Identification used to indicate the account identification under another specified name.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax320Text_Extended'
      required:
      - identification
    ProxyAccountType3Choice:
      type: object
      description: Specifies the scheme used for the identification of an account alias.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Name of the identification scheme, in a coded form as published in an external list.
            $ref: '#/components/schemas/ExternalProxyAccountType1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Name of the identification scheme, in a free text form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        required:
        - proprietary
    ReferredDocumentInformation9:
      type: object
      description: Set of elements used to identify the documents referred to in the remittance information.
      additionalProperties: false
      properties:
        type:
          #  Specifies the type of referred document.
          $ref: '#/components/schemas/ReferredDocumentType5'
        number:
          #  Unique and unambiguous identification of the referred document.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        related_date:
          #  Date associated with the referred document.
          $ref: '#/components/schemas/ISODate'
        line_details:
          type: array
          #  Set of elements used to provide the content of the referred document line.
          items:
            $ref: '#/components/schemas/DocumentLineInformation3'
    ReferredDocumentType4Choice:
      type: object
      description: Specifies the type of the document referred in the remittance information.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Document type in a coded form.
            $ref: '#/components/schemas/DocumentType6Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Proprietary identification of the type of the remittance document.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    ReferredDocumentType5:
      type: object
      description: Specifies the type of the document referred in the remittance information.
      additionalProperties: false
      properties:
        code_or_proprietary:
          #  Provides the type details of the referred document.
          $ref: '#/components/schemas/ReferredDocumentType4Choice'
        issuer:
          #  Identification of the issuer of the reference document type.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
      required:
      - code_or_proprietary
    RelatedInvestigationData3:
      type: object
      description: Provides information on data related to the investigation that is being sent seperately to the message.
      additionalProperties: false
      properties:
        investigation_identification:
          #  Unique identification to unambiguously identify data or documentation sent separately from the request or reponse, such as a copy of a passport.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        location:
          type: array
          #  Provides information on the location and/or delivery of the related investigation data or documentation.
          items:
            $ref: '#/components/schemas/InvestigationLocationData3'
    Remittance3:
      type: object
      description: Specifies details on the data of a remittance that was requested.
      additionalProperties: false
      properties:
        unstructured:
          #  Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        structured:
          type: array
          #  Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in a structured form.
          items:
            $ref: '#/components/schemas/StructuredRemittanceInformation19'
        related:
          type: array
          maxItems: 10
          #  Provides information related to the handling of the remittance information by any of the agents in the transaction processing chain.
          items:
            $ref: '#/components/schemas/RemittanceLocation11'
    RemittanceAmount5:
      type: object
      description: Nature of the amount and currency on a document referred to in the remittance section, typically either the original amount due/payable or the amount actually remitted for the referenced document.
      additionalProperties: false
      properties:
        due_payable_amount:
          #  Amount specified is the exact amount due and payable to the creditor.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        discount_applied_amount:
          type: array
          #  Amount of discount to be applied to the amount due and payable to the creditor.
          items:
            $ref: '#/components/schemas/DiscountAmountAndType2'
        credit_note_amount:
          #  Amount of a credit note.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        tax_amount:
          type: array
          #  Amount of the tax.
          items:
            $ref: '#/components/schemas/TaxAmountAndType2'
        adjustment_amount_and_reason:
          type: array
          #  Specifies detailed information on the amount and reason of the adjustment.
          items:
            $ref: '#/components/schemas/DocumentAdjustment3'
        remitted_amount:
          #  Amount of money remitted.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
    RemittanceAmount6:
      type: object
      description: Nature of the amount and currency on a document referred to in the remittance section, typically either the original amount due/payable or the amount actually remitted for the referenced document.
      additionalProperties: false
      properties:
        due_payable_amount:
          #  Amount specified is the exact amount due and payable to the creditor.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        discount_applied_amount:
          type: array
          #  Amount specified for the referred document is the amount of discount to be applied to the amount due and payable to the creditor.
          items:
            $ref: '#/components/schemas/DiscountAmountAndType2'
        credit_note_amount:
          #  Amount specified for the referred document is the amount of a credit note.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        tax_amount:
          type: array
          #  Quantity of cash resulting from the calculation of the tax.
          items:
            $ref: '#/components/schemas/TaxAmountAndType2'
        adjustment_amount_and_reason:
          type: array
          #  Specifies detailed information on the amount and reason of the document adjustment.
          items:
            $ref: '#/components/schemas/DocumentAdjustment3'
        remitted_amount:
          #  Amount of money remitted for the referred document.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
    RemittanceLocation11:
      type: object
      description: Provides information on the remittance advice.
      additionalProperties: false
      properties:
        remittance_identification:
          #  Unique identification, as assigned by the initiating party, to unambiguously identify the remittance information sent separately from the payment instruction, such as a remittance advice.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        remittance_location_details:
          type: array
          #  Set of elements used to provide information on the location and/or delivery of the remittance information.
          items:
            $ref: '#/components/schemas/RemittanceLocationData3'
    RemittanceLocationData3:
      type: object
      description: Provides additional details on the remittance advice.
      additionalProperties: false
      properties:
        method:
          #  Method used to deliver the remittance advice information.
          $ref: '#/components/schemas/RemittanceLocationMethod2Code'
        electronic_address:
          #  Electronic address to which an agent is to send the remittance information.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax2048Text_Extended'
        postal_address:
          #  Postal address to which an agent is to send the remittance information.
          $ref: '#/components/schemas/NameAndAddress19'
      required:
      - method
    RemittanceLocationMethod2Code:
      type: string
      description: |-
        Specifies the method used to deliver the remittance advice information.
        *`FAXI`-Remittance advice information must be faxed.
        *`EDIC`-Remittance advice information must be sent through Electronic Data Interchange (EDI).
        *`URID`-Remittance advice information needs to be sent to a Uniform Resource Identifier (URI). URI is a compact string of characters that uniquely identify an abstract or physical resource. URI's are the super-set of identifiers, such as URLs, email addresses, ftp sites, etc, and as such, provide the syntax for all of the identification schemes.
        *`EMAL`-Remittance advice information must be sent through e-mail.
        *`POST`-Remittance advice information must be sent through postal services.
        *`SMSM`-Remittance advice information must be sent through by phone as a short message service (SMS).
      enum:
      - FAXI
      - EDIC
      - URID
      - EMAL
      - POST
      - SMSM
    RequestForInformationInvestigationDataResponse2:
      type: object
      description: Data elements related to a request for information data response.
      additionalProperties: false
      properties:
        investigations:
          type: array
          #  'Contains unable to apply investigations.  '
          items:
            $ref: '#/components/schemas/EIRData5'
        next:
          #  Contains a token to obtain the next set of responses. It indicates whether there are more results to retrieve, what timestamp to start from and how many more result entries are to be retrieved.
          $ref: '#/components/schemas/Max350Text'
      required:
      - investigations
    RequestForInformationInvestigationRequest2:
      type: object
      description: Contains data elements related to a request for information investigation request.
      additionalProperties: false
      properties:
        from:
          #  Sender BIC of the business request
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        message_identification:
          #  'Point to point reference, as assigned by the requestor, and sent to the responder to unambiguously identify the message. Usage: In the context of Case Management, the Message Identification must be unique per EIR per sender of POST. '
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        requestor_investigation_identification:
          #  Unique identification, as assigned by the requestor, to unambiguously identify the investigation for the requestor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        responder_investigation_identification:
          #  Unique identification, as assigned by the responder, to unambiguously identify the investigation for the responder.  Where the ResponderInvestigationIdentification has previously been provided to the requestor as part of an earlier response the ResponderInvestigationIdentification should be present.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        eir:
          #  Unique identifier to provide the end-to-end reference of an investigation.
          $ref: '#/components/schemas/UUIDv4Identifier'
        investigation_type:
          #  Type of investigation.
          $ref: '#/components/schemas/InvestigationType3Code'
        investigation_sub_type:
          #  'Sub type of an investigation.  Usage: The investigation sub type element may be used to identify a department within an agent to whom the investigation can be directed to, for routing purposes. It should only be used when the investigation type could logically be directed to different departments within an agent, for example a request for information.'
          $ref: '#/components/schemas/CASEInvestigationSubType1Code'
        underlying_instrument:
          #  Specifies the instrument or product to which the investigation refers.
          $ref: '#/components/schemas/ExternalInvestigationInstrument1Code'
        underlying:
          #  Provides details on the subject to which the investigation refers, for example a payment or a statement entry.
          $ref: '#/components/schemas/UnderlyingData6Choice'
        requestor:
          #  Identification of the agent or party requesting a new investigation is opened.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        responder:
          #  Identification of the agent or party expected to provide a status update for an existing investigation.
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        request_originator:
          #  'Identification of the agent or party who has originated the request.  Usage: When the Requestor has forwarded the investigation from another party, it is recommended to provide the RequestOriginator in this element.'
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        service_level:
          #  Specifies a pre-agreed service or level of service between the requestor and responder.
          $ref: '#/components/schemas/ExternalInvestigationServiceLevel1Code'
        investigation_data:
          type: array
          #  Provides all details of the reason for the investigation request.
          items:
            $ref: '#/components/schemas/InvestigationReason4'
      required:
      - from
      - message_identification
      - requestor_investigation_identification
      - investigation_type
      - investigation_sub_type
      - underlying_instrument
      - underlying
      - requestor
      - responder
      - investigation_data
    RequestForInformationInvestigationResponse1:
      type: object
      description: Data element related to a request for information investigation response.
      additionalProperties: false
      properties:
        from:
          #  Sender BIC of the business request
          $ref: '#/components/schemas/BICFIDec2014Identifier'
        message_identification:
          #  'Point to point reference, as assigned by the responder, and sent to the requestor to unambiguously identify the message. Usage: The responder has to make sure that MessageIdentification is unique per requestor for a pre-agreed period.'
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        responder_investigation_identification:
          #  Unique identification, as assigned by the responder, to unambiguously identify the responder reference for the investigation.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        investigation_status:
          #  Status of the investigation request.
          $ref: '#/components/schemas/ExternalInvestigationStatus1Code'
        investigation_status_reason:
          #  Reason for the investigation status.
          $ref: '#/components/schemas/InvestigationStatusReason2Choice'
        investigation_data:
          type: array
          #  Provides the response to the request.
          items:
            $ref: '#/components/schemas/InvestigationData5'
        original_investigation_request:
          #  Unambiguous identification of the original investigation request.
          $ref: '#/components/schemas/InvestigationRequest12'
      required:
      - from
      - message_identification
      - investigation_status
      - original_investigation_request
    StructuredRemittanceInformation19:
      type: object
      description: Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in a structured form.
      additionalProperties: false
      properties:
        referred_document_information:
          type: array
          #  Provides the identification and the content of the referred document.
          items:
            $ref: '#/components/schemas/ReferredDocumentInformation9'
        referred_document_amount:
          #  Provides details on the amounts of the referred document.
          $ref: '#/components/schemas/RemittanceAmount6'
        creditor_reference_information:
          #  Reference information provided by the creditor to allow the identification of the underlying documents.
          $ref: '#/components/schemas/CreditorReferenceInformation4'
        invoicer:
          #  Identification of the organisation issuing the invoice, when it is different from the creditor or ultimate creditor.
          $ref: '#/components/schemas/PartyIdentification283'
        invoicee:
          #  Identification of the party to whom an invoice is issued, when it is different from the debtor or ultimate debtor.
          $ref: '#/components/schemas/PartyIdentification283'
        tax_remittance:
          #  Provides remittance information about a payment made for tax-related purposes.
          $ref: '#/components/schemas/TaxInformation11'
        garnishment_remittance:
          #  Provides remittance information about a payment for garnishment-related purposes.
          $ref: '#/components/schemas/Garnishment5'
        additional_remittance_information:
          type: array
          maxItems: 3
          #  Additional information, in free text form, to complement the structured remittance information.
          items:
            $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
    TaxAmount2:
      type: object
      description: Set of elements used to provide information on the tax amount(s) of tax record.
      additionalProperties: false
      properties:
        rate:
          #  Rate used to calculate the tax.
          $ref: '#/components/schemas/PercentageRate'
        taxable_base_amount:
          #  Amount of money on which the tax is based.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        total_amount:
          #  Total amount that is the result of the calculation of the tax for the record.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        details:
          type: array
          #  Set of elements used to provide details on the tax period and amount.
          items:
            $ref: '#/components/schemas/TaxRecordDetails2'
    TaxAmountAndType2:
      type: object
      description: Specifies the amount with a specific type.
      additionalProperties: false
      properties:
        type:
          #  Specifies the type of the amount.
          $ref: '#/components/schemas/TaxAmountType2Choice'
        amount:
          #  Amount of money, which has been typed.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
      required:
      - amount
    TaxAmountType2Choice:
      type: object
      description: Specifies the amount type.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Specifies the amount type, in a coded form.
            $ref: '#/components/schemas/ExternalTaxAmountType1Code'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          proprietary:
            #  Specifies the amount type, in a free-text form.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        required:
        - proprietary
    TaxAuthorisation2:
      type: object
      description: Details of the authorised tax paying party.
      additionalProperties: false
      properties:
        title:
          #  Title or position of debtor or the debtor's authorised representative.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        name:
          #  Name of the debtor or the debtor's authorised representative.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
    TaxInformation11:
      type: object
      description: Details about tax paid, or to be paid, to the government in accordance with the law, including pre-defined parameters such as thresholds and type of account.
      additionalProperties: false
      properties:
        creditor:
          #  Party on the credit side of the transaction to which the tax applies.
          $ref: '#/components/schemas/TaxParty5'
        debtor:
          #  Identifies the party on the debit side of the transaction to which the tax applies.
          $ref: '#/components/schemas/TaxParty6'
        ultimate_debtor:
          #  Ultimate party that owes an amount of money to the (ultimate) creditor, in this case, to the taxing authority.
          $ref: '#/components/schemas/TaxParty6'
        administration_zone:
          #  Territorial part of a country to which the tax payment is related.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        reference_number:
          #  Tax reference information that is specific to a taxing agency.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        method:
          #  Method used to indicate the underlying business or how the tax is paid.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        total_taxable_base_amount:
          #  Total amount of money on which the tax is based.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        total_tax_amount:
          #  Total amount of money as result of the calculation of the tax.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        date:
          #  Date by which tax is due.
          $ref: '#/components/schemas/ISODate'
        sequence_number:
          #  Sequential number of the tax report.
          $ref: '#/components/schemas/Number'
        record:
          type: array
          #  Record of tax details.
          items:
            $ref: '#/components/schemas/TaxRecord4'
    TaxParty5:
      type: object
      description: Details about the entity involved in the tax paid or to be paid.
      additionalProperties: false
      properties:
        tax_identification:
          #  Tax identification number of the creditor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        registration_identification:
          #  Unique identification, as assigned by an organisation, to unambiguously identify a party.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        tax_type:
          #  Type of tax payer.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
    TaxParty6:
      type: object
      description: Details about the entity involved in the tax paid or to be paid.
      additionalProperties: false
      properties:
        tax_identification:
          #  Tax identification number of the debtor.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        registration_identification:
          #  Unique identification, as assigned by an organisation, to unambiguously identify a party.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        tax_type:
          #  Type of tax payer.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        authorisation:
          #  Details of the authorised tax paying party.
          $ref: '#/components/schemas/TaxAuthorisation2'
    TaxPeriod2:
      type: object
      description: Period of time details related to the tax payment.
      additionalProperties: false
      properties:
        year:
          #  Year related to the tax payment.
          $ref: '#/components/schemas/ISODate'
        type:
          #  Identification of the period related to the tax payment.
          $ref: '#/components/schemas/TaxRecordPeriod1Code'
        from_to_date:
          #  Range of time between a start date and an end date for which the tax report is provided.
          $ref: '#/components/schemas/DatePeriod2'
    TaxRecord4:
      type: object
      description: Set of elements used to define the tax record.
      additionalProperties: false
      properties:
        type:
          #  High level code to identify the type of tax details.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        category:
          #  Specifies the tax code as published by the tax authority.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        category_details:
          #  Provides further details of the category tax code.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        debtor_status:
          #  Code provided by local authority to identify the status of the party that has drawn up the settlement document.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        certificate_identification:
          #  Identification number of the tax report as assigned by the taxing authority.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        forms_code:
          #  Identifies, in a coded form, on which template the tax report is to be provided.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text_Extended'
        period:
          #  Set of elements used to provide details on the period of time related to the tax payment.
          $ref: '#/components/schemas/TaxPeriod2'
        tax_amount:
          #  Set of elements used to provide information on the amount of the tax record.
          $ref: '#/components/schemas/TaxAmount2'
        additional_information:
          #  Further details of the tax record.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
    TaxRecordDetails2:
      type: object
      description: Provides information on the individual tax amount(s) per period of the tax record.
      additionalProperties: false
      properties:
        period:
          #  Set of elements used to provide details on the period of time related to the tax payment.
          $ref: '#/components/schemas/TaxPeriod2'
        amount:
          #  Underlying tax amount related to the specified period.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
      required:
      - amount
    TaxRecordPeriod1Code:
      type: string
      description: |-
        Specifies the period related to the tax payment.
        *`MM01`-Tax is related to the second month of the period.
        *`MM02`-Tax is related to the first month of the period.
        *`MM03`-Tax is related to the third month of the period.
        *`MM04`-Tax is related to the fourth month of the period.
        *`MM05`-Tax is related to the fifth month of the period.
        *`MM06`-Tax is related to the sixth month of the period.
        *`MM07`-Tax is related to the seventh month of the period.
        *`MM08`-Tax is related to the eighth month of the period.
        *`MM09`-Tax is related to the ninth month of the period.
        *`MM10`-Tax is related to the tenth month of the period.
        *`MM11`-Tax is related to the eleventh month of the period.
        *`MM12`-Tax is related to the twelfth month of the period.
        *`QTR1`-Tax is related to the first quarter of the period.
        *`QTR2`-Tax is related to the second quarter of the period.
        *`QTR3`-Tax is related to the third quarter of the period.
        *`QTR4`-Tax is related to the forth quarter of the period.
        *`HLF1`-Tax is related to the first half of the period.
        *`HLF2`-Tax is related to the second half of the period.
      enum:
      - MM01
      - MM02
      - MM03
      - MM04
      - MM05
      - MM06
      - MM07
      - MM08
      - MM09
      - MM10
      - MM11
      - MM12
      - QTR1
      - QTR2
      - QTR3
      - QTR4
      - HLF1
      - HLF2
    TrackedMessageIdentification1:
      type: object
      description: Provides information on the original investigation request and if applicable on the original investigation response message.
      additionalProperties: false
      properties:
        message_identification:
          #  Message identification of investigation request and if applicable of the investigation response.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        message_name_identification:
          #  Message name identifier of the investigation request or if applicable of the investigation response.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        creation_date_time:
          #  Date and time at which the message was created.
          $ref: '#/components/schemas/ISONormalisedDateTime'
      required:
      - message_identification
      - message_name_identification
      - creation_date_time
    TrackerPaymentStatusReason3Code:
      type: string
      description: "Provides reason for reject/return.\n*`AM06`-Below limit.\n*`RC01`-Bank identifier code specified in the message has an incorrect format (formerly IncorrectFormatForRoutingCode).\n*`AC06`-Account specified is blocked, prohibiting posting of transactions against it.\n*`AM07`-Amount specified in message has been blocked by regulatory authorities.\n*`AC04`-Account number specified has been closed on the bank of account's books.\n*`AC07`-Creditor account number closed.\n*`G004`-Credit to the creditor's account is pending as status Originator is waiting for funds provided via a cover.\n*`DUPL`-Payment is a duplicate of another payment.\n*`ERIN`-The Extended Remittance Information (ERI) option is not supported.\n*`FOCR`-Return following a cancellation request.\n*`FR01`-Returned as a result of fraud.\n*`BE01`-Identification of end customer is not consistent with associated account number. (formerly CreditorConsistency).\n*`AC01`-Account number is invalid or missing\n*`AGNT`-Agent in the payment workflow is incorrect.\n*`CURR`-Currency of the payment is incorrect.\n*`AM04`-Amount of funds available to cover specified message amount is insufficient.\n*`FF06`-Category Purpose code is missing or invalid.\n*`RC08`-Routing code not valid for local clearing.\n*`RC04`-Creditor bank identifier is invalid or missing.\n*`AC02`-Debtor account number invalid or missing\r\n\n*`AC13`-Debtor account type is missing or invalid.\n*`RR11`-Invalid or missing identification of a bank proprietary service.\n*`RC03`-Debtor bank identifier is invalid or missing\n*`RC11`-Intermediary Agent is invalid or missing.\n*`FF05`-Local Instrument code is missing or invalid.\n*`RR12`-Invalid or missing identification required within a particular country or payment type.\n*`FF03`-Payment Type Information is missing or invalid. Generic usage if cannot specify Service Level or Local Instrument code.\n*`FF07`-Purpose is missing or invalid.\n*`FF04`-Service Level code is missing or invalid.\n*`RR09`-Structured creditor reference invalid or missing.\n*`BE04`-Specification of creditor's address, which is required for payment, is missing/not correct (formerly IncorrectCreditorAddress).\n*`RR03`-Specification of the creditor's name and/or address needed for regulatory requirements is insufficient or missing.\n*`RR01`-Specification of the debtor’s account or unique identification needed for reasons of regulatory requirements is insufficient or missing\n*`BE07`-Specification of debtor's address, which is required for payment, is missing/not correct.\n*`RR02`-Specification of the debtor’s name and/or address needed for regulatory requirements is insufficient or missing.\r\n\n*`NOAS`-Failed to contact beneficiary.\n*`AM02`-Specific transaction/message amount is greater than allowed maximum.\n*`AM03`-Specific message amount is an non processable currency outside of existing agreement.\n*`NOCM`-Customer account is not compliant with regulatory requirements, for example FICA (in South Africa) or any other regulatory requirements which render an account inactive for certain processing.\n*`MS03`-Reason has not been specified by agent.\n*`MS02`-Reason has not been specified by end customer.\n*`RR05`-Regulatory or Central Bank Reporting information missing, incomplete or invalid.\n*`RR04`-Regulatory Reason \n*`RR07`-Remittance information structure does not comply with rules for payment type.\n*`RR08`-Remittance information truncated to comply with rules for payment type.\n*`CUST`-At request of creditor.\n*`RR06`-Tax information missing, incomplete or invalid.\n*`UPAY`-Payment is not justified.\n*`BE05`-Party who initiated the message is not recognised by the end customer.\n*`AM09`-Amount received is not the amount agreed or expected.\n*`RUTA`-Return following investigation request and no remediation possible."
      enum:
      - AM06
      - RC01
      - AC06
      - AM07
      - AC04
      - AC07
      - G004
      - DUPL
      - ERIN
      - FOCR
      - FR01
      - BE01
      - AC01
      - AGNT
      - CURR
      - AM04
      - FF06
      - RC08
      - RC04
      - AC02
      - AC13
      - RR11
      - RC03
      - RC11
      - FF05
      - RR12
      - FF03
      - FF07
      - FF04
      - RR09
      - BE04
      - RR03
      - RR01
      - BE07
      - RR02
      - NOAS
      - AM02
      - AM03
      - NOCM
      - MS03
      - MS02
      - RR05
      - RR04
      - RR07
      - RR08
      - CUST
      - RR06
      - UPAY
      - BE05
      - AM09
      - RUTA
    TrackerTransaction1:
      type: object
      description: Contains the transaction status information.
      additionalProperties: false
      properties:
        uetr:
          #  Contains the unique end to end transaction reference of a payment.
          $ref: '#/components/schemas/UUIDv4Identifier'
        transaction_status:
          #  Provides more details on the tracker status of a payment.
          $ref: '#/components/schemas/TransactionIndividualStatus5Code'
        transaction_status_reason:
          #  Contains the reason for the tracker status of a payment
          $ref: '#/components/schemas/TransactionIndividualStatusReason1Code'
        return_flag:
          #  Indicates if the payment is a return or not. True means that the payment is a return in the tracker. False means the payment is not a return in the tracker
          $ref: '#/components/schemas/TrueFalseIndicator'
        reject_return_reason:
          #  Provides detailed information on the reject/return reason of the payment in the tracker.
          $ref: '#/components/schemas/TrackerPaymentStatusReason3Code'
        last_update_date_time:
          #  Last date and time reflects the date time when the last update for a payment transaction with a given uetr happens.
          $ref: '#/components/schemas/ISONormalisedDateTime'
      required:
      - uetr
      - transaction_status
      - last_update_date_time
    TransactionAmendment3Choice:
      type: object
      description: Specifies the data elements requested in the investigation request.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          agent:
            #  Specifies the data of an agent that was requested.
            $ref: '#/components/schemas/BranchAndFinancialInstitutionIdentification9'
        required:
        - agent
      - type: object
        additionalProperties: false
        properties:
          amount:
            #  Specifies details on an amount that was requested.
            $ref: '#/components/schemas/ActiveCurrencyAndAmount'
        required:
        - amount
      - type: object
        additionalProperties: false
        properties:
          any_bic:
            #  Specifies details on a business identifier code that was requested.
            $ref: '#/components/schemas/AnyBICDec2014Identifier'
        required:
        - any_bic
      - type: object
        additionalProperties: false
        properties:
          bicfi:
            #  Specifies details on a financial institution business identifier code that was requested.
            $ref: '#/components/schemas/BICFIDec2014Identifier'
        required:
        - bicfi
      - type: object
        additionalProperties: false
        properties:
          cash_account:
            #  Specifies details on a cash account that was requested.
            $ref: '#/components/schemas/CashAccount211'
        required:
        - cash_account
      - type: object
        additionalProperties: false
        properties:
          code:
            #  Specifies details on a code that was requested.
            $ref: '#/components/schemas/Max4Text'
        required:
        - code
      - type: object
        additionalProperties: false
        properties:
          date:
            #  Specifies details of a date that was requested.
            $ref: '#/components/schemas/ISODate'
        required:
        - date
      - type: object
        additionalProperties: false
        properties:
          date_time:
            #  Specifies details on a date and time that was requested.
            $ref: '#/components/schemas/ISODateTime'
        required:
        - date_time
      - type: object
        additionalProperties: false
        properties:
          party:
            #  Specifies details on the data of a party that was requested.
            $ref: '#/components/schemas/PartyIdentification283'
        required:
        - party
      - type: object
        additionalProperties: false
        properties:
          remittance:
            #  Specifies details on the data of a remittance that was requested.
            $ref: '#/components/schemas/Remittance3'
        required:
        - remittance
      - type: object
        additionalProperties: false
        properties:
          other:
            #  Specifies other data related to the investigation that was requested.
            $ref: '#/components/schemas/CASE_RestrictedFINXMax140Text_Extended'
        required:
        - other
    TransactionAmendment4:
      type: object
      description: Specifies the path and data elements requested in the investigation request.
      additionalProperties: false
      properties:
        path:
          #  Absolute path of an element.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax2048Text'
        record:
          #  Provides the indivdual record of the data elements.
          $ref: '#/components/schemas/TransactionAmendment3Choice'
      required:
      - record
    TransactionIndividualStatus5Code:
      type: string
      description: "Specifies the status of a single payment transaction.\n*`RJCT`-Payment initiation or individual transaction included in the payment initiation has been rejected.\n*`ACSP`-All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.\n*`ACCC`-Settlement on the creditor's account has been completed. "
      enum:
      - RJCT
      - ACSP
      - ACCC
    TransactionIndividualStatusReason1Code:
      type: string
      description: "Contains the reason for the status of a payment transaction.\n*`G002`-In a FIToFI Customer Credit Transfer: Credit to the creditor’s account may not be confirmed same day. Update will follow from the Status Originator.\r\nIn a Financial Institution Credit Transfer with cover: Debit/credit to nostro account may not be confirmed same day or Financial Institution Credit Transfer may not be transferred same day. Update will follow from the Status Originator.\n*`G003`-In a FIToFI Customer Credit Transfer: Credit to creditor’s account is pending receipt of required documents. The Status Originator has requested creditor to provide additional documentation. Update will follow from the Status Originator. \r\nIn a Financial Institution Credit Transfer with cover: Status Originator has requested a previous Agent to provide additional information/correct information. Update will follow from the Status Originator.\n*`G004`-In a FIToFI Customer Credit Transfer: Credit to the creditor’s account is pending, status Originator is waiting for funds provided via a cover. Update will follow from the Status Originator.\n*`G006`-Payment has been delivered to creditor agent without service level.\n*`G005`-Payment has been delivered to creditor agent with service level.\n*`G001`-In an FI To FI Customer Credit Transfer: The Status Originator transferred the payment to the next Agent or to a Market Infrastructure. The payment transfer is not tracked. No further updates will follow from the Status Originator.\r\n\r\nIn a Financial Institution Credit Transfer with cover: The Status Originator performed the account booking and transferred the cover transaction to the next Reimbursement Agent or to a Market Infrastructure. The payment transfer is not tracked. No further updates will follow from the Status Originator.\n*`G000`-In an FI To FI Customer Credit Transfer: The Status Originator transferred the payment to the next Agent or to a Market Infrastructure. The payment transfer is tracked. No further updates will follow from the Status Originator.\r\n\r\nIn a Financial Institution Credit Transfer with cover: The Status Originator performed the account booking and transferred the cover transaction to the next Reimbursement Agent or to a Market Infrastructure. The payment transfer is tracked. No further updates will follow from the Status Originator."
      enum:
      - G002
      - G003
      - G004
      - G006
      - G005
      - G001
      - G000
    TrueFalseIndicator:
      type: boolean
      description: A flag indicating a True or False value.
    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}$
    UnderlyingData5Choice:
      type: object
      description: Specifies the details of an underlying transaction, on which the investigation is processed.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          initiation:
            #  Reference details on the original payment initiation.
            $ref: '#/components/schemas/UnderlyingPaymentInstruction10'
        required:
        - initiation
      - type: object
        additionalProperties: false
        properties:
          interbank:
            #  Reference details on the original interbank payment transaction.
            $ref: '#/components/schemas/UnderlyingPaymentTransaction9'
        required:
        - interbank
      - type: object
        additionalProperties: false
        properties:
          statement_entry:
            #  Reference details on the underlying statement cash entry.
            $ref: '#/components/schemas/UnderlyingStatementEntry6'
        required:
        - statement_entry
      - type: object
        additionalProperties: false
        properties:
          account:
            #  Reference details on the underlying account.
            $ref: '#/components/schemas/CashAccount210'
        required:
        - account
      - type: object
        additionalProperties: false
        properties:
          other:
            #  'Reference details on any other original proprietary reference.  Usage: this element can be used for an investigation on any other data, such as a cheque.'
            $ref: '#/components/schemas/GenericIdentification188'
        required:
        - other
    UnderlyingData6Choice:
      type: object
      description: Specifies the details of an underlying transaction, on which the investigation is processed.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          initiation:
            #  Reference details on the original payment initiation.
            $ref: '#/components/schemas/UnderlyingPaymentInstruction10'
        required:
        - initiation
      - type: object
        additionalProperties: false
        properties:
          interbank:
            #  Reference details on the original interbank payment transaction.
            $ref: '#/components/schemas/UnderlyingPaymentTransaction9'
        required:
        - interbank
      - type: object
        additionalProperties: false
        properties:
          statement_entry:
            #  Reference details on the underlying statement cash entry.
            $ref: '#/components/schemas/UnderlyingStatementEntry7'
        required:
        - statement_entry
      - type: object
        additionalProperties: false
        properties:
          account:
            #  Reference details on the underlying account.
            $ref: '#/components/schemas/CashAccount210'
        required:
        - account
      - type: object
        additionalProperties: false
        properties:
          other:
            #  'Reference details on any other original proprietary reference.  Usage: this element can be used for an investigation on any other data, such as a cheque.'
            $ref: '#/components/schemas/GenericIdentification188'
        required:
        - other
    UnderlyingPaymentInstruction10:
      type: object
      description: Provides further details on the original payment initiation, to which the investigation message refers.
      additionalProperties: false
      properties:
        original_message_identification:
          #  Point to point reference, as assigned by the original instructing party, to unambiguously identify the original message.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_message_name_identification:
          #  Specifies the original message name identifier to which the message refers.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_creation_date_time:
          #  Date and time at which the original message was created.
          $ref: '#/components/schemas/CASE_DateTime'
        original_message_delivery_channel:
          #  Original channel used for the delivery of the message, to allow the receiver of the request to locate the payment with greater ease.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_payment_information_identification:
          #  'Unique identification, as assigned by the original sending party, to unambiguously identify the original payment information group.  Comment PaymentInformationID is limited to 16 char in pain.001 for translation reasons. Max 35 char is kept in the datatype in order to deal with other messages in the initiation area that could be added later on. '
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_instruction_identification:
          #  Unique identification, as assigned by the original instructing party for the original instructed party, to unambiguously identify the original instruction.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_end_to_end_identification:
          #  Unique identification, as assigned by the original initiating party, to unambiguously identify the original transaction.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_uetr:
          #  Universally unique identifier to provide the original end-to-end reference of a payment transaction.
          $ref: '#/components/schemas/UUIDv4Identifier'
        original_instructed_amount:
          #  Amount of money, as provided in the original transaction, to be moved between the debtor and the creditor, before deduction of charges, expressed in the currency, as ordered by the original initiating party.
          $ref: '#/components/schemas/CASE_Amount'
        requested_execution_date:
          #  'Date at which the initiating party requests the clearing agent to process the payment.  Usage: This is the date on which the debtor''s account is to be debited. If payment by cheque, the date when the cheque must be generated by the bank.'
          $ref: '#/components/schemas/ISODate'
        requested_collection_date:
          #  Date at which the creditor requests the amount of money to be collected from the debtor.
          $ref: '#/components/schemas/ISODate'
    UnderlyingPaymentTransaction9:
      type: object
      description: Provides further details on the original payment transaction, to which the investigation message refers.
      additionalProperties: false
      properties:
        original_message_identification:
          #  Point to point reference, as assigned by the original instructing party, to unambiguously identify the original message.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_message_name_identification:
          #  Specifies the original message name identifier to which the message refers.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_creation_date_time:
          #  Date and time at which the original message was created.
          $ref: '#/components/schemas/CASE_DateTime'
        original_message_delivery_channel:
          #  Original channel used for the delivery of the message, to allow the receiver of the request to locate the payment with greater ease.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_instruction_identification:
          #  Unique identification, as assigned by the original instructing party for the original instructed party, to unambiguously identify the original instruction.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_end_to_end_identification:
          #  Unique identification, as assigned by the original initiating party, to unambiguously identify the original transaction.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_transaction_identification:
          #  Unique identification, as assigned by the original first instructing agent, to unambiguously identify the transaction.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_uetr:
          #  Universally unique identifier to provide the original end-to-end reference of a payment transaction.
          $ref: '#/components/schemas/UUIDv4Identifier'
        original_interbank_settlement_amount:
          #  Amount of money moved between the instructing agent and the instructed agent, as provided in the original instruction.
          $ref: '#/components/schemas/CASE_Amount'
        original_interbank_settlement_date:
          #  Date, as provided in the original transaction, on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due.
          $ref: '#/components/schemas/ISODate'
    UnderlyingStatementEntry6:
      type: object
      description: Provides further details on the underlying statement entry, to which the investigation message refers.
      additionalProperties: false
      properties:
        original_account:
          #  Provides details of the account, for which the original statement was generated.
          $ref: '#/components/schemas/CashAccount209'
        original_message_identification:
          #  Point to point reference assigned by the original instructing party to unambiguously identify the original message.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_message_name_identification:
          #  Specifies the original message name identifier to which the message refers, for example, pacs.003.001.01 or MT103.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_creation_date_time:
          #  Original date and time at which the message was created.
          $ref: '#/components/schemas/CASE_DateTime'
        original_statement_identification:
          #  Unique identification, as assigned by the account servicer, to unambiguously identify the original statement.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_entry_reference:
          #  Original unique reference, as assigned by the account servicer, to unambiguously identify the original entry.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_uetr:
          #  Universally unique identifier to provide the original end-to-end reference of a payment transaction.
          $ref: '#/components/schemas/UUIDv4Identifier'
        original_entry_amount:
          #  Amount of money in the cash entry.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        original_entry_value_date:
          #  Specified date.
          $ref: '#/components/schemas/ISODate'
    UnderlyingStatementEntry7:
      type: object
      description: Provides further details on the underlying statement entry, to which the investigation message refers.
      additionalProperties: false
      properties:
        original_account:
          #  Provides details of the account, for which the original statement was generated.
          $ref: '#/components/schemas/CashAccount218'
        original_message_identification:
          #  Point to point reference assigned by the original instructing party to unambiguously identify the original message.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_message_name_identification:
          #  Specifies the original message name identifier to which the message refers, for example, pacs.003.001.01 or MT103.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_creation_date_time:
          #  Original date and time at which the message was created.
          $ref: '#/components/schemas/CASE_DateTime'
        original_statement_identification:
          #  Unique identification, as assigned by the account servicer, to unambiguously identify the original statement.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_entry_reference:
          #  Original unique reference, as assigned by the account servicer, to unambiguously identify the original entry.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax35Text'
        original_uetr:
          #  Universally unique identifier to provide the original end-to-end reference of a payment transaction.
          $ref: '#/components/schemas/UUIDv4Identifier'
        original_entry_amount:
          #  Amount of money in the cash entry.
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyAndAmount'
        original_entry_value_date:
          #  Specified date.
          $ref: '#/components/schemas/ISODate'
  responses:
    400-BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            invalid_request:
              value:
                severity: Fatal
                code: Sw.cm.InvalidRequest
                text: Invalid request
            missing_mandatory_field:
              value:
                severity: Fatal
                code: Sw.cm.MandatoryFieldMissing
                text: Mandatory field %field missing
    401-Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            from_authorization_failure:
              value:
                severity: Fatal
                code: Sw.cm.AuthorizationFailure
                text: From %From does not have the appropriate RBAC role
    404-NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            resource_not_exist:
              value:
                severity: Fatal
                code: SwAP506
                text: Resource does not exist.
    429-TooManyRequests:
      description: Too Many Requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            system_too_many_requests:
              value:
                severity: Transient
                code: SwAP507
                text: 
                  Request cannot be processed at this time. Please try later.
                  (header Retry-After indicates how long to wait before making a
                  follow-up request).
    500-InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            service_internal_error:
              value:
                severity: Transient
                code: Sw.cm.InternalError
                text: Internal error
    503-ServerUnavailable:
      description: ServerUnavailable
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    504-GatewayTimeout:
      description: GatewayTimeout
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            service_provider_timeout:
              value:
                severity: Transient
                code: SwAP591
                text: 
                  Service provider timeout           
    default:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            service_internal_error:
              value:
                severity: Transient
                code: Sw.cm.InternalError
                text: Internal error
  parameters:
    uetr:
      in: query
      name: uetr
      description: 'Identifies the payment transaction, EIRs linked to this uetr will be retrieved'
      schema:
        $ref: '#/components/schemas/UUIDv4Identifier'
      required: false
      example: 97ed4827-7b6f-4491-a06f-b548d5a7512d  
    eir:
      in: query
      name: eir
      description: 'Identifies the eir resource, events linked to this eir will be retrieved'
      schema:
        $ref: '#/components/schemas/UUIDv4Identifier'
      required: false
      example: 97ed4827-7b6f-4491-a06f-b548d5a7512d
    eir_status:
      in: query
      name: eir_status
      description: 'Identifies the eir status, events for the specific eir status will be retrieved'
      schema:
        $ref: '#/components/schemas/Max4Text'
      required: false
      example: OPEN  
    from_date_time:
      name: from_date_time
      in: query
      description: |-
        Start time window to filter this search, to_date_time can be indicated to limit a window of time.
        Please note that from_date_time value cannot be older than 124 days from today, if value indicated is older than 124 days, the Tracker will default to the allowed value.
        
        For test environments the from_date_time value cannot be older than 60 days from today.
      required: false
      style: form
      explode: true
      schema:
        type: string
        format: date-time
      example: '2024-01-10T00:00:00.000Z'
    to_date_time:
      name: to_date_time
      in: query
      description: 'Stop time window to filter this search, if indicated, from_date_time becomes mandatory. This value indicated should be in the past.'
      required: false
      style: form
      explode: true
      schema:
        type: string
        format: date-time
      example: '2024-04-11T23:59:59.000Z'
    maximum_number:
      name: maximum_number
      in: query
      description: |-
        Indicates the maximum number of investigations to be returned.

        The maximum value is 100 and the Case Manager defaults to this value if higher or no value is indicated.
      required: false
      style: form
      explode: true
      schema:
        minimum: 1
        maximum: 100
        type: integer
      example: 50
    next:
      name: next
      in: query
      description: |-
        Indicates a cursor to get the next set of responses. The value of this
        field should be empty the first request and server may return a value to
        help the consumer navigate through the rest of the pages. 

        When passing a next value on a request, all other query parameters should be
        empty.

        If next value is not returned in the response, there are no pages or
        last page was reached
      required: false
      style: form
      explode: true
      schema:
        $ref: '#/components/schemas/Max350Text'
      example: dXNlIHRoaXMgdmFsdWUgdG8gcmVxdWVzdCBuZXh0IHNldCBvZiBkYXRh

  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
        two OAuth grant types depending on the API service.

        * JWT-Bearer grant type [RFC 7523](https://tools.ietf.org/html/rfc7523)

        * Password grant type


        This API uses JWT-Bearer grant type.


        Please 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.
          
        In this declaration only the basic security element to transport the
        bearer token of an OAuth2 process is declared.
  examples:
    request_for_information_investigation_request_underlying_interbank_unable_to_execute:
      summary: Request sent by requestor to case manager to create a request for informaton investigation as they are not able to execute the payment due to missing creditor account.
      value:
        from: CAGTBICXXXX
        message_identification: MsgID1
        requestor_investigation_identification: ReqInvID1
        eir: eeded1fc-c733-4278-8105-ac56e1669b99
        investigation_type: RQFI
        investigation_sub_type: UTEX
        underlying_instrument: XBCT
        underlying:
          interbank:
            original_uetr: 146db1be-1a97-45e1-99be-a96656186139
        requestor: CAGTBICXXXX
        responder: IAGTBICXXXX
        investigation_data:
          - sequence: "001"
            reason: CTOR
            reason_sub_type: RQAC
            
    investigation_request_output:
      summary: output received by the requestor (HTTP200)
      value:
        eir: eeded1fc-c733-4278-8105-ac56e1669b99
        requestor_investigation_identification: ReqInvID1
        message_identification: MsgID1
        requestor: CAGTBICXXXX
        responder: IAGTBICXXXX
            
            
    request_for_information_investigation_response_underlying_interbank_unable_to_execute:
      summary: Response sent by responder to case manager to respond to a request for informaton investigation providing the missing creditor account information.
      value:
        from: DAGTBICXXXX
        message_identification: MsgID2
        responder_investigation_identification: ResInvID1
        investigation_status: CLSD
        investigation_data:
          - original_investigation_sequence: "001"
            original_investigation_reason: CTOR
            original_investigation_reason_sub_type: RQAC
            response_data:
              transaction_data:
                record:
                  cash_account:
                    identification:
                      other:
                        identification: Account134GDD
        original_investigation_request:
          message_identification: MsgID1
          requestor_investigation_identification: ReqInvID1
          eir: eeded1fc-c733-4278-8105-ac56e1669b99
          investigation_type: RQFI
          investigation_sub_type: UTEX
          underlying_instrument: XBCT
          requestor: CAGTBICXXXX
          responder: IAGTBICXXXX
          
          
    investigation_response_output: 
      summary: Output for a response from responder to Case Manager.
      value:
          eir: eeded1fc-c733-4278-8105-ac56e1669b99
          requestor_investigation_identification: ReqInvID1
          responder_investigation_identification: ResInvID1
          original_message_identification: MsgID1
          message_identification: MsgID2
          requestor: CAGTBICXXXX
          responder: IAGTBICXXXX
          investigation_status: CLSD    
          
          
          
    request_for_information_investigation_request_underlying_interbank_sanctions:
      summary: Request sent by requestor to case manager to create a request for informaton investigation as they are not able to execute the payment due to a sanctions issue (date of birth, country of birth, passport number and nationality of debtor required).
      value:
        from: CAGTBICXXXX
        message_identification: MsgID3
        requestor_investigation_identification: ReqInvID2
        eir: 1deed1fc-c733-4278-8105-ac56e1669b99
        investigation_type: RQFI
        investigation_sub_type: SANC
        underlying_instrument: XBCT
        underlying:
          interbank:
            original_uetr: 333db1be-1a97-45e1-99be-a96656186139
        requestor: CAGTBICXXXX
        responder: DAGTBICXXXX
        investigation_data:
          - sequence: "001"
            reason: DTOR
            reason_sub_type: RQDB         
          - sequence: "002"
            reason: DTOR
            reason_sub_type: RQCO   
          - sequence: "003"
            reason: DTOR
            reason_sub_type: CCPT    
          - sequence: "004"
            reason: DTOR
            reason_sub_type: RQNA   


    request_for_information_investigation_response_underlying_interbank_sactions:
      summary: Response sent by responder to case manager to respond to a request for informaton investigation providing information in relation to a sanctions issue.
      value:
        from: DAGTBICXXXX
        message_identification: MsgID4
        responder_investigation_identification: ResInvID2
        investigation_status: CLSD
        investigation_data:
          - original_investigation_sequence: "001"
            original_investigation_reason: DTOR
            original_investigation_reason_sub_type: RQDB
            response_data:
              transaction_data:
                record:
                  date: 1973-09-20
          - original_investigation_sequence: "002"
            original_investigation_reason: DTOR
            original_investigation_reason_sub_type: RQCO
            response_data:
              transaction_data:
                record:
                  other: Belgium
          - original_investigation_sequence: "003"
            original_investigation_reason: DTOR
            original_investigation_reason_sub_type: CCPT
            response_data:
              transaction_data:
                record:
                  other: BE4399E9E99-99339
          - original_investigation_sequence: "004"
            original_investigation_reason: DTOR
            original_investigation_reason_sub_type: RQNA
            response_data:
              transaction_data:
                  record:
                    other: Belgian
        original_investigation_request:
          message_identification: MsgID3
          requestor_investigation_identification: ReqInvID2
          eir: 146db1be-1a97-45e1-99be-a96656186139
          investigation_type: RQFI
          investigation_sub_type: SANC
          underlying_instrument: XBCT
          requestor: CAGTBICXXXX
          responder: DAGTBICXXXX


    request_for_information_investigation_request_underlying_interbank_compliance:
      summary: Request sent by requestor to case manager to create a request for informaton investigation as they are not able to execute the payment due to a compliance/money laundering issue (nature of goods shipped needs to be provided).
      value:
        from: CAGTBICXXXX
        message_identification: MsgID4
        requestor_investigation_identification: ReqInvID3
        eir: 2feed1fc-c733-4278-8105-ac56e1669b99
        investigation_type: RQFI
        investigation_sub_type: AMLI
        underlying_instrument: XBCT
        underlying:
          interbank:
            original_uetr: 222db1be-1a97-45e1-99be-a96656186139
        requestor: CAGTBICXXXX
        responder: DAGTBICXXXX
        investigation_data:
          - sequence: "001"
            reason: AMLI
            request_narrative: "Please specify the nature of the goods exchanged"



    request_for_information_investigation_response_underlying_interbank_compliance:
      summary: Response sent by responder to case manager to respond to a request for informaton investigation providing information in relation to a compliance/money laundering issue.
      value:
        from: DAGTBICXXXX
        message_identification: MsgID4
        responder_investigation_identification: ResInvID2
        investigation_status: CLSD
        investigation_data:
          - original_investigation_sequence: "001"
            original_investigation_reason: AMLI
            response_data:
              response_narrative: "The payment is related to the sale of Vodka"
        original_investigation_request:
          message_identification: MsgID4
          requestor_investigation_identification: ReqInvID3
          eir: 2feed1fc-c733-4278-8105-ac56e1669b99
          investigation_type: RQFI
          investigation_sub_type: AMLI
          underlying_instrument: XBCT
          requestor: CAGTBICXXXX
          responder: DAGTBICXXXX

    request_for_information_investigation_data:
      summary: GET response based on time-range search parameter returning three investigations.
      value:    
    
        investigations:
          - eir: eeded1fc-c733-4278-8105-ac56e1669b99
            eir_status: CLSD
            eir_last_update_date_time: '2024-01-21T16:00:00.000Z'
            eir_initiation_date_time: '2024-01-21T15:00:00.000Z'
            tracker_transaction:
              uetr: 146db1be-1a97-45e1-99be-a96656186139
              transaction_status: ACSP
              transaction_status_reason: G002  
              return_flag: false
              last_update_date_time: '2024-01-21T12:00:00.000Z'
            investigation_exchange:
              - investigation_exchange_identification: MsgID1
                investigation_exchange_status: CLSD
                investigation_request_data:
                  - network_reference: 20240121500003436-010000000001
                    message_name_identification: 'InvestigationRequest'
                    from: CAGTBICXXXX
                    to: TRCKCHZZXXX
                    requestor: CAGTBICXXXX
                    responder: IAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:00:00.000Z'
                    valid: true
                    message_identification: MsgID1
                    requestor_investigation_identification: ReqInvID1
                    eir: eeded1fc-c733-4278-8105-ac56e1669b99
                    investigation_type: RQFI
                    investigation_sub_type: UTEX
                    underlying_instrument: XBCT
                    underlying:
                      interbank:
                        original_uetr: 146db1be-1a97-45e1-99be-a96656186139
                    investigation_data:
                    - sequence: "001"
                      reason: CTOR
                      reason_sub_type: RQAC
                  - network_reference: 20240121132213436-010000000001
                    message_name_identification: 'InvestigationRequest'
                    from: TRCKCHZZXXX
                    to: IAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: IAGTBICXXXX
                    received_date_time: '2024-01-21T15:00:00.000Z'
                    event_creation_date_time: '2024-01-21T15:00:00.000Z'
                    valid: true
                    message_identification: MsgID1
                    requestor_investigation_identification: ReqInvID1
                    eir: eeded1fc-c733-4278-8105-ac56e1669b99
                    investigation_type: RQFI
                    investigation_sub_type: UTEX
                    underlying_instrument: XBCT
                    underlying:
                      interbank:
                        original_uetr: 146db1be-1a97-45e1-99be-a96656186139
                    investigation_data:
                    - sequence: "001"
                      reason: CTOR
                      reason_sub_type: RQAC
                investigation_response_data:
                  - network_reference: 20240121160000436-010000000001
                    message_name_identification: InvestigationResponse
                    from: IAGTBICXXXX
                    to: TRCKCHZZXXX
                    requestor: CAGTBICXXXX
                    responder: IAGTBICXXXX
                    received_date_time: '2024-01-21T16:00:00.000Z'
                    event_creation_date_time: '2024-01-21T16:00:00.000Z'
                    valid: true
                    investigation_status: CLSD
                    investigation_data:
                      - original_investigation_sequence: "001"
                        original_investigation_reason: CTOR
                        original_investigation_reason_sub_type: RQAC
                        response_data:
                          transaction_data:
                            record:
                              cash_account:
                                identification:
                                  other:
                                    identification: Account134GDD
                    original_investigation_request:
                      message_identification: MsgID1
                      requestor_investigation_identification: ReqInvID1
                      eir: eeded1fc-c733-4278-8105-ac56e1669b99
                      investigation_type: RQFI
                      investigation_sub_type: UTEX
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: IAGTBICXXXX
                  - network_reference: 20240121160000436-010000000002
                    message_name_identification: InvestigationResponse
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: IAGTBICXXXX
                    event_creation_date_time: '2024-01-21T16:00:00.000Z'
                    valid: true
                    investigation_status: CLSD
                    investigation_data:
                      - original_investigation_sequence: "001"
                        original_investigation_reason: CTOR
                        original_investigation_reason_sub_type: RQAC
                        response_data:
                          transaction_data:
                            record:
                              cash_account:
                                identification:
                                  other:
                                    identification: Account134GDD
                    original_investigation_request:
                      message_identification: MsgID1
                      requestor_investigation_identification: ReqInvID1
                      eir: eeded1fc-c733-4278-8105-ac56e1669b99
                      investigation_type: RQFI
                      investigation_sub_type: UTEX
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: IAGTBICXXXX      
                investigation_tracking_data:
                  - network_reference: 202401211530436-010000000001
                    message_identification: CMRef1
                    message_name_identification: NotificationInformation
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:30:00.000Z'
                    investigation_tracking_status: ASGN
                    requestor: CAGTBICXXXX
                    responder: IAGTBICXXXX
                    tracked_message_identification:
                      message_identification: MsgID1
                      message_name_identification: camt.110.001.01
                      creation_date_time: '2024-01-21T11:00:00.000Z'
                    investigation_identification:
                      requestor_investigation_identification: ReqInvID1
                      eir: eeded1fc-c733-4278-8105-ac56e1669b99
                  - network_reference: 202401211535436-010000000001
                    message_identification: CMRef2
                    message_name_identification: NotificationInformation
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:35:00.000Z'
                    investigation_tracking_status: DTRP
                    requestor: CAGTBICXXXX
                    responder: IAGTBICXXXX
                    tracked_message_identification:
                      message_identification: MsgID1
                      message_name_identification: camt.110.001.01
                      creation_date_time: '2024-01-21T11:00:00.000Z'
                    investigation_identification:
                      requestor_investigation_identification: ReqInvID1
                      eir: eeded1fc-c733-4278-8105-ac56e1669b99
          - eir: 1deed1fc-c733-4278-8105-ac56e1669b99
            eir_status: CLSD
            eir_last_update_date_time: '2024-01-21T15:00:00.000Z'
            eir_initiation_date_time: '2024-01-21T14:00:00.000Z'
            investigation_exchange:
              - investigation_exchange_identification: MsgID3
                investigation_exchange_status: CLSD
                investigation_request_data:
                  - network_reference: 20240121140000436-010000000001
                    message_name_identification: 'InvestigationRequest'
                    from: CAGTBICXXXX
                    to: TRCKCHZZXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    event_creation_date_time: '2024-01-21T14:00:00.000Z'
                    valid: true
                    message_identification: MsgID3
                    requestor_investigation_identification: ReqInvID2
                    eir: 1deed1fc-c733-4278-8105-ac56e1669b99
                    investigation_type: RQFI
                    investigation_sub_type: SANC
                    underlying_instrument: XBCT
                    underlying:
                      interbank:
                        original_uetr: 333db1be-1a97-45e1-99be-a96656186139
                    investigation_data:
                      - sequence: "001"
                        reason: DTOR
                        reason_sub_type: RQDB         
                      - sequence: "002"
                        reason: DTOR
                        reason_sub_type: RQCO   
                      - sequence: "003"
                        reason: DTOR
                        reason_sub_type: CCPT    
                      - sequence: "004"
                        reason: DTOR
                        reason_sub_type: RQNA  
                  - network_reference: 20240121140000436-010000000002
                    message_name_identification: 'InvestigationRequest'
                    from: TRCKCHZZXXX
                    to: DAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    event_creation_date_time: '2024-01-21T14:15:00.000Z'
                    valid: true
                    message_identification: MsgID3
                    requestor_investigation_identification: ReqInvID2
                    eir: 1deed1fc-c733-4278-8105-ac56e1669b99
                    investigation_type: RQFI
                    investigation_sub_type: SANC
                    underlying_instrument: XBCT
                    underlying:
                      interbank:
                        original_uetr: 333db1be-1a97-45e1-99be-a96656186139
                    investigation_data:
                      - sequence: "001"
                        reason: DTOR
                        reason_sub_type: RQDB         
                      - sequence: "002"
                        reason: DTOR
                        reason_sub_type: RQCO   
                      - sequence: "003"
                        reason: DTOR
                        reason_sub_type: CCPT    
                      - sequence: "004"
                        reason: DTOR
                        reason_sub_type: RQNA  
                investigation_response_data:
                  - network_reference: 20240121150000436-010000000001
                    message_name_identification: InvestigationResponse
                    from: DAGTBICXXXX
                    to: TRCKCHZZXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:00:00.000Z'
                    valid: true
                    investigation_status: CLSD
                    investigation_data:
                      - original_investigation_sequence: "001"
                        original_investigation_reason: DTOR
                        original_investigation_reason_sub_type: RQDB
                        response_data:
                          transaction_data:
                                  record:
                                    date: 1973-09-17
                      - original_investigation_sequence: "002"
                        original_investigation_reason: DTOR
                        original_investigation_reason_sub_type: RQCO
                        response_data:
                          transaction_data:
                                  record:
                                    other: Belgium
                      - original_investigation_sequence: "003"
                        original_investigation_reason: DTOR
                        original_investigation_reason_sub_type: CCPT
                        response_data:
                          transaction_data:
                                  record:
                                    other: BE4399E9E99-99339
                      - original_investigation_sequence: "004"
                        original_investigation_reason: DTOR
                        original_investigation_reason_sub_type: RQNA
                        response_data:
                          transaction_data:
                                  record:
                                    other: Belgian
                    original_investigation_request:
                      message_identification: MsgID3
                      requestor_investigation_identification: ReqInvID2
                      eir: 146db1be-1a97-45e1-99be-a96656186139
                      investigation_type: RQFI
                      investigation_sub_type: SANC
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: DAGTBICXXXX
                  - network_reference: 20240121150000436-010000000002
                    message_name_identification: InvestigationResponse
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    received_date_time: '2024-01-21T15:15:00.000Z'
                    event_creation_date_time: '2024-01-21T15:15:00.000Z'
                    valid: true
                    investigation_status: CLSD
                    investigation_data:
                      - original_investigation_sequence: "001"
                        original_investigation_reason: DTOR
                        original_investigation_reason_sub_type: RQDB
                        response_data:
                          transaction_data:
                                  record:
                                    date: 20-09-1973
                      - original_investigation_sequence: "002"
                        original_investigation_reason: DTOR
                        original_investigation_reason_sub_type: RQCO
                        response_data:
                          transaction_data:
                                  record:
                                    other: Belgium
                      - original_investigation_sequence: "003"
                        original_investigation_reason: DTOR
                        original_investigation_reason_sub_type: CCPT
                        response_data:
                          transaction_data:
                                  record:
                                    other: BE4399E9E99-99339
                      - original_investigation_sequence: "004"
                        original_investigation_reason: DTOR
                        original_investigation_reason_sub_type: RQNA
                        response_data:
                          transaction_data:
                                  record:
                                    other: Belgian
                    original_investigation_request:
                      message_identification: MsgID3
                      requestor_investigation_identification: ReqInvID2
                      eir: 146db1be-1a97-45e1-99be-a96656186139
                      investigation_type: RQFI
                      investigation_sub_type: SANC
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: DAGTBICXXXX
                investigation_tracking_data:
                  - network_reference: 20240121153000436-010000000001
                    message_identification: CMRef3
                    message_name_identification: NotificationInformation
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:30:00.000Z'
                    investigation_tracking_status: ASGN
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    tracked_message_identification:
                      message_identification: MsgID3
                      message_name_identification: InvestigationRequest
                      creation_date_time: '2024-01-21T14:00:00.000Z'
                    investigation_identification:
                      requestor_investigation_identification: ReqInvID2
                      eir: 146db1be-1a97-45e1-99be-a96656186139
                  - network_reference: 20240121153500436-010000000001
                    message_identification: CMRef4
                    message_name_identification: NotificationInformation
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:35:00.000Z'
                    investigation_tracking_status: DTRP
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    tracked_message_identification:
                      message_identification: MsgID3
                      message_name_identification: InvestigationRequest
                      creation_date_time: '2024-01-21T14:00:00.000Z'
                    investigation_identification:
                      requestor_investigation_identification: ReqInvID2
                      eir: 146db1be-1a97-45e1-99be-a96656186139
          - eir: 2feed1fc-c733-4278-8105-ac56e1669b99
            eir_status: CLSD
            eir_last_update_date_time: '2024-01-21T15:00:00.000Z'
            eir_initiation_date_time: '2024-01-21T14:00:00.000Z'
            investigation_exchange:
              - investigation_exchange_identification: MsgID4
                investigation_exchange_status: CLSD
                investigation_request_data:
                  - network_reference: 20240121140000436-010000000001
                    message_name_identification: 'InvestigationRequest'
                    from: CAGTBICXXXX
                    to: TRCKCHZZXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    event_creation_date_time: '2024-01-21T14:00:00.000Z'
                    valid: true
                    message_identification: MsgID4
                    requestor_investigation_identification: ReqInvID3
                    eir: 2feed1fc-c733-4278-8105-ac56e1669b99
                    investigation_type: RQFI
                    investigation_sub_type: SANC
                    underlying_instrument: XBCT
                    underlying:
                      interbank:
                        original_uetr: 222db1be-1a97-45e1-99be-a96656186139
                    investigation_data:
                      - sequence: "001"
                        reason: AMLI
                        request_narrative: "Please specify the nature of the goods exchanged"
                  - network_reference: 20240121140000436-010000000002
                    message_name_identification: 'InvestigationRequest'
                    from: TRCKCHZZXXX
                    to: DAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    event_creation_date_time: '2024-01-21T14:15:00.000Z'
                    valid: true
                    message_identification: MsgID4
                    requestor_investigation_identification: ReqInvID3
                    eir: 2feed1fc-c733-4278-8105-ac56e1669b99
                    investigation_type: RQFI
                    investigation_sub_type: SANC
                    underlying_instrument: XBCT
                    underlying:
                      interbank:
                        original_uetr: 222db1be-1a97-45e1-99be-a96656186139
                    investigation_data:
                      - sequence: "001"
                        reason: AMLI
                        request_narrative: "Please specify the nature of the goods exchanged"
                investigation_response_data:
                  - network_reference: 20240121150000436-010000000001
                    message_name_identification: InvestigationResponse
                    from: DAGTBICXXXX
                    to: TRCKCHZZXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:00:00.000Z'
                    valid: true
                    investigation_status: CLSD
                    investigation_data:
                      - original_investigation_sequence: "001"
                        original_investigation_reason: AMLI
                        response_data:
                          response_narrative: "The payment is related to the sale of Vodka"
                    original_investigation_request:
                      message_identification: MsgID4
                      requestor_investigation_identification: ReqInvID3
                      eir: 2feed1fc-c733-4278-8105-ac56e1669b99
                      investigation_type: RQFI
                      investigation_sub_type: AMLI
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: DAGTBICXXXX
                  - network_reference: 20240121150000436-010000000002
                    message_name_identification: InvestigationResponse
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    received_date_time: '2024-01-21T15:15:00.000Z'
                    event_creation_date_time: '2024-01-21T15:15:00.000Z'
                    valid: true
                    investigation_status: CLSD
                    investigation_data:
                      - original_investigation_sequence: "001"
                        original_investigation_reason: AMLI
                        response_data:
                          response_narrative: "The payment is related to the sale of Vodka"
                    original_investigation_request:
                      message_identification: MsgID4
                      requestor_investigation_identification: ReqInvID3
                      eir: 2feed1fc-c733-4278-8105-ac56e1669b99
                      investigation_type: RQFI
                      investigation_sub_type: AMLI
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: DAGTBICXXXX
                investigation_tracking_data:
                  - network_reference: 20240121153000436-010000000001
                    message_identification: CMRef5
                    message_name_identification: NotificationInformation
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:30:00.000Z'
                    investigation_tracking_status: ASGN
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    tracked_message_identification:
                      message_identification: MsgID4
                      message_name_identification: InvestigationRequest
                      creation_date_time: '2024-01-21T14:00:00.000Z'
                    investigation_identification:
                      requestor_investigation_identification: ReqInvID3
                      eir: 2feed1fc-c733-4278-8105-ac56e1669b99
                  - network_reference: 20240121153500436-010000000001
                    message_identification: CMRef6
                    message_name_identification: NotificationInformation
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    event_creation_date_time: '2024-01-21T15:35:00.000Z'
                    investigation_tracking_status: DTRP
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    tracked_message_identification:
                      message_identification: MsgID4
                      message_name_identification: InvestigationRequest
                      creation_date_time: '2024-01-21T14:00:00.000Z'
                    investigation_identification:
                      requestor_investigation_identification: ReqInvID3
                      eir: 2feed1fc-c733-4278-8105-ac56e1669b99