openapi: 3.0.2
info:
  title: Case Manager - Unable To Apply
  description: |
      The Unable To Apply process applies when an underlying transaction is already credited on the creditor's account and where the creditor is unable to apply the funds (for example due to different amount, account or incomplete reference data). The investigation response  will either contain the remittance information or a narrative text providing additional details related to the payment or statement entry. 
      
      ***Release note explaining change between version 7.0.3 and 7.0.2***
      In version 7.0.3, 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.3
servers:
  - description: Test
    url: https://api-test.swiftnet.sipn.swift.com/swift-casemanagement-UnableToApply-pilot/v7
  - description: Production
    url: https://api.swiftnet.sipn.swift.com/swift-casemanagement-UnableToApply/v7
  - description: Sandbox
    url: https://sandbox.swift.com/swift-casemanagement-UnableToApply/v7
security:
  - oauthBearerToken: [] 
paths:
  /unabletoapply-investigations-requests:
    post:
      tags:
      - create unable to apply investigation request
      summary: Create unable to apply investigation request.
      description: This API is used by the requestor to create an unable to apply investigation request.
      operationId: unableToApplyInvestigationRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnableToApplyInvestigationRequest2'
            examples:
              unable_to_apply_investigation_request_uetr:
                $ref: '#/components/examples/unable_to_apply_investigation_request_uetr'
              unable_to_apply_investigation_request_statement_entry:
                $ref: '#/components/examples/unable_to_apply_investigation_request_statement_entry'  
      responses:
        '200':
          description: This is the output received by the requestor creating an unable to apply 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'
  /unabletoapply-investigations-responses:
    post:
      tags:
      - create unable to apply investigation response
      summary: Create unable to apply investigation response.
      description: This API is used by the responder to respond to an unable to apply investigation request from the requestor.
      operationId: unableToApplyInvestigationResponse
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnableToApplyInvestigationResponse1'
            examples:
              unable_to_apply_investigation_response_remittance_data:
                $ref: '#/components/examples/unable_to_apply_investigation_response_remittance_data'
              unable_to_apply_investigation_response_narrative:
                $ref: '#/components/examples/unable_to_apply_investigation_response_narrative'                
      responses:
        '200':
          description: UnableToApplyInvestigationResponse
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvestigationResponseOutput1'
              examples:
                unable_to_apply_investigation_response_output:
                  $ref: '#/components/examples/unable_to_apply_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'
  /unabletoapply-investigations:
    get:
      tags:
      - get unable to apply investigation data
      summary: Get unable to apply investigation data.
      description: This API is used to get all the information related to unable to apply investigations. The eir_status parameter can only be used in combination with the from_date_time and to_date_time parameters.
      operationId: getUnableToApplyInvestigationData
      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: UnableToApplyInvestigationDataResponse
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnableToApplyInvestigationDataResponse2'
              examples:
                unable_to_apply_investigation_data:
                  $ref: '#/components/examples/unable_to_apply_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
    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}$
    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_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_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_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'
    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
    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
    EIRData6:
      type: object
      description: "Contains all data related to an EIR.\r\nUsage: Groups all investigation exchanges per EIR."
      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/InvestigationExchange6'
      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}$
    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.
    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."
    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."
    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."
    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
    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
    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)?$
    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
    InvestigationData4:
      type: object
      description: Provides the response to the request.
      additionalProperties: false
      properties:
        original_investigation_reason:
          #  Original investigation reason as provided in the investigation request.
          $ref: '#/components/schemas/InvestigationType2Code'
        response_data:
          #  Response to the investigation, as provided by the responder.
          $ref: '#/components/schemas/InvestigationDataRecord4Choice'
        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
    InvestigationDataRecord4Choice:
      type: object
      description: Response to the investigation, as provided by the responder.
      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/TransactionAmendment3'
        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
    InvestigationExchange6:
      type: object
      description: Details of an investigation exchange.
      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/InvestigationRequest10'
        investigation_response_data:
          type: array
          #  Details related to the Investigation Response.
          items:
            $ref: '#/components/schemas/InvestigationResponse11'
        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
    InvestigationReason1Code:
      type: string
      description: |-
        Reason for investigation is Unable To Apply.
        *`UTAP`-Unable to apply
      enum:
      - UTAP
    InvestigationRequest10:
      type: object
      description: Specifies the details of an investigation request.
      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/InvestigationType2Code'
        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/UnderlyingData4Choice'
        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_reason:
          #  Reason for the investigation being opened.
          $ref: '#/components/schemas/InvestigationType2Code'
      required:
      - message_name_identification
      - from
      - to
      - requestor
      - responder
      - message_identification
      - investigation_type
      - underlying_instrument
      - underlying
    InvestigationRequest11:
      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/InvestigationType2Code'
        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
      - underlying_instrument
      - requestor
      - responder
    InvestigationRequest19:
      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.
          $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/InvestigationType2Code'
        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
    InvestigationResponse11:
      type: object
      description: Provides details of the investigation response.
      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
          items:
            $ref: '#/components/schemas/InvestigationData4'
        original_investigation_request:
          #  Unambiguous identification of the original investigation request.
          $ref: '#/components/schemas/InvestigationRequest19'
      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
    InvestigationType2Code:
      type: string
      description: |-
        Investigation type for Unable To Apply.
        *`UTAP`-Identifies that the investigation is an unable to apply.
      enum:
      - UTAP
    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
    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
    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
    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
    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
    TransactionAmendment3:
      type: object
      description: Provides data related to a request.
      additionalProperties: false
      properties:
        path:
          #  Absolute path of an element.
          $ref: '#/components/schemas/CASE_RestrictedFINXMax2048Text'
        remittance:
          #  Specifies details on the data of a remittance that was requested.
          $ref: '#/components/schemas/Remittance3'
      required:
      - remittance
    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}$
    UnableToApplyInvestigationDataResponse2:
      type: object
      description: UnableToApplyInvestigationDataResponse
      additionalProperties: false
      properties:
        investigations:
          type: array
          #  'Contains unable to apply investigations.  '
          items:
            $ref: '#/components/schemas/EIRData6'
        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
    UnableToApplyInvestigationRequest2:
      type: object
      description: UnableToApplyInvestigationRequest resource
      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.
          $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/InvestigationType2Code'
        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/UnderlyingData7Choice'
        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_reason:
          #  Reason for the investigation being opened.
          $ref: '#/components/schemas/InvestigationReason1Code'
      required:
      - from
      - message_identification
      - requestor_investigation_identification
      - investigation_type
      - underlying_instrument
      - underlying
      - requestor
      - responder
      - investigation_reason
    UnableToApplyInvestigationResponse1:
      type: object
      description: UnableToApplyInvestigationResponse
      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/InvestigationData4'
        original_investigation_request:
          #  Unambiguous identification of the original investigation request.
          $ref: '#/components/schemas/InvestigationRequest11'
      required:
      - from
      - message_identification
      - investigation_status
      - original_investigation_request
    UnderlyingData4Choice:
      type: object
      description: Provides details on the subject to which the investigation refers, for example a payment or statement entry.
      additionalProperties: true
      oneOf:
      - 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
    UnderlyingData7Choice:
      type: object
      description: Provides details on the subject to which the investigation refers, for example a payment or statement entry.
      additionalProperties: true
      oneOf:
      - 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
    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:
    unable_to_apply_investigation_request_uetr:
      summary: Request sent by requestor to case manager to create an unable to apply investigation referencing a uetr.
      value:
        from: CAGTBICXXXX
        message_identification: MsgID1
        requestor_investigation_identification: ReqInvID1
        eir: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
        investigation_type: UTAP
        underlying_instrument: XBCT
        underlying:
          interbank:
            original_uetr: 146db1be-1a97-45e1-99be-a96656186139
        requestor: CAGTBICXXXX
        responder: IAGTBICXXXX
        investigation_reason: UTAP
        
    unable_to_apply_investigation_request_statement_entry:
      summary: Request sent by requestor to case manager to create an unable to apply investigation referencing a statement entry.
      value:
        from: CAGTBICXXXX
        message_identification: MsgID2
        requestor_investigation_identification: ReqInvID2
        eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396
        investigation_type: UTAP
        underlying_instrument: XBCT
        underlying:
          statement_entry:
            original_account: 
              identification:
                other_identification: 'Acct123'
            original_statement_identification: Stmnt1
            original_entry_reference: EntryRef1
        requestor: CAGTBICXXXX
        responder: IAGTBICXXXX
        investigation_reason: UTAP  

    investigation_request_output:
      summary: Output for request sent by requestor to case manager to create an unable to apply investigation.
      value:  
        
        eir: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
        requestor_investigation_identification: ReqInvID1
        message_identification: 'MsgID1'
        requestor: CAGTBICXXXX
        responder: DAGTBICXXXX
        

    unable_to_apply_investigation_response_remittance_data:        
      summary: Response from responder to Case Manager containing remittance data in response to an unable to apply investigation referencing a uetr.
      value:        
        from: DAGTBICXXXX
        message_identification: MsgID3
        responder_investigation_identification: ResInvID1
        investigation_status: CLSD
        investigation_data:
          - original_investigation_reason: UTAP
            response_data:
              transaction_data: 
                remittance:
                  structured:
                    - creditor_reference_information:
                        type: 
                          code_or_proprietary:
                            code: SCOR
                        reference: Invoice number 1
        original_investigation_request:
          message_identification: MsgID1
          requestor_investigation_identification: ReqInvID1
          eir: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
          investigation_type: UTAP
          underlying_instrument: XBCT
          requestor: CAGTBICXXXX
          responder: DAGTBICXXXX
    unable_to_apply_investigation_response_narrative:        
      summary: Response from responder to Case Manager containing narrative information in response to an unable to apply investigation referencing a statement entry.
      value:        
        from: DAGTBICXXXX
        message_identification: MsgID3
        responder_investigation_identification: ResInvID1
        investigation_status: CLSD
        investigation_data:
          - original_investigation_reason: UTAP
            response_data:
              response_narrative: The statement entry with reference EntryRef1 on statement with reference Stmnt1 is linked to the settlement of account related fees.
        original_investigation_request:
          message_identification: MsgID2
          requestor_investigation_identification: ReqInvID2
          eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396
          investigation_type: UTAP
          underlying_instrument: XBCT
          requestor: CAGTBICXXXX
          responder: DAGTBICXXXX
          
          
    unable_to_apply_investigation_response_output: 
      summary: Output for a response from responder to Case Manager.
      value:
          eir: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
          requestor_investigation_identification: ReqInvID1
          responder_investigation_identification: ResInvID1
          original_message_identification: MsgID1
          message_identification: MsgID3
          requestor: CAGTBICXXXX
          responder: CAGTBICXXXX
          investigation_status: CLSD
          
    unable_to_apply_investigation_data:
      summary: GET response based on time-range search parameter returning two investigations.
      value:    
    
        investigations:
          - eir: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
            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: ACCC
              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: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
                    investigation_type: UTAP
                    underlying_instrument: XBCT
                    underlying:
                      interbank:
                        original_uetr: 146db1be-1a97-45e1-99be-a96656186139
                    investigation_reason: UTAP
                  - network_reference: 20240121132213436-010000000001
                    message_name_identification: 'InvestigationRequest'
                    from: TRCKCHZZXXX
                    to: DAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    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: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
                    investigation_type: UTAP
                    underlying_instrument: XBCT
                    underlying:
                      interbank:
                        original_uetr: 146db1be-1a97-45e1-99be-a96656186139
                    investigation_reason: UTAP
                investigation_response_data:
                  - network_reference: 20240121160000436-010000000001
                    message_name_identification: InvestigationResponse
                    from: DAGTBICXXXX
                    to: TRCKCHZZXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    event_creation_date_time: '2024-01-21T16:00:00.000Z'
                    valid: true
                    investigation_status: CLSD
                    investigation_data:
                      - original_investigation_reason: UTAP
                        response_data:
                          transaction_data:
                            remittance:
                              structured:
                                - creditor_reference_information:
                                    type:
                                      code_or_proprietary:
                                        code: SCOR
                                    reference: Invoice number 1
                    original_investigation_request:
                      message_identification: 'MsgID1'
                      requestor_investigation_identification: ReqInvID1
                      eir: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
                      investigation_type: UTAP
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: DAGTBICXXXX
                  - network_reference: 20240121160000436-010000000001
                    message_name_identification: InvestigationResponse
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    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_reason: UTAP
                        response_data:
                          transaction_data:
                            remittance:
                              structured:
                                - creditor_reference_information:
                                    type:
                                      code_or_proprietary:
                                        code: SCOR
                                    reference: Invoice number 1
                    original_investigation_request:
                      message_identification: 'MsgID1'
                      requestor_investigation_identification: ReqInvID1
                      eir: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
                      investigation_type: UTAP
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: DAGTBICXXXX
                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: DAGTBICXXXX
                    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: d1f9a09e-7e96-4b02-bd68-9a74a40d2396

                  - 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: DAGTBICXXXX
                    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: d1f9a09e-7e96-4b02-bd68-9a74a40d2396
          - eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396
            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: MsgID2
                investigation_exchange_status: CLSD
                investigation_request_data:
                  - network_reference: 20240121140000436-010000000001
                    message_name_identification: 'InvestigationRequest'
                    from: CAGTBICXXXX
                    to: TRCKCHZZXXX
                    requestor: CAGTBICXXXX
                    responder: IAGTBICXXXX
                    event_creation_date_time: '2024-01-21T14:00:00.000Z'
                    valid: true
                    message_identification: MsgID2
                    requestor_investigation_identification: ReqInvID2
                    eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396
                    investigation_type: UTAP
                    underlying_instrument: XBCT
                    underlying:
                      statement_entry:
                        original_account: 
                          identification: 
                            other_identification: 'Acct123'
                        original_statement_identification: Stmnt1
                        original_entry_reference: EntryRef1
                    investigation_reason: UTAP
                  - network_reference: 20240121140000436-010000000002
                    message_name_identification: 'InvestigationRequest'
                    from: TRCKCHZZXXX
                    to: DAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    received_date_time: '2024-01-21T14:00:00.000Z'
                    event_creation_date_time: '2024-01-21T14:00:00.000Z'
                    valid: true
                    message_identification: MsgID2
                    requestor_investigation_identification: ReqInvID2
                    eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396
                    investigation_type: UTAP
                    underlying_instrument: XBCT
                    underlying:
                      statement_entry:
                        original_account: 
                          identification:
                            other_identification: 'Acct123'
                        original_statement_identification: Stmnt1
                        original_entry_reference: EntryRef1
                    investigation_reason: UTAP
                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_reason: UTAP
                        response_data:
                          response_narrative: The statement entry with reference EntryRef1 on statement with reference Stmnt1 is linked to the settlement of account related fees.
                    original_investigation_request:
                      message_identification: 'MsgID2'
                      requestor_investigation_identification: ReqInvID2
                      eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396
                      investigation_type: UTAP
                      underlying_instrument: XBCT
                      requestor: CAGTBICXXXX
                      responder: DAGTBICXXXX
                  - network_reference: 20240121150000436-010000000001
                    message_name_identification: InvestigationResponse
                    from: TRCKCHZZXXX
                    to: CAGTBICXXXX
                    requestor: CAGTBICXXXX
                    responder: DAGTBICXXXX
                    received_date_time: '2024-01-21T15:00:00.000Z'
                    event_creation_date_time: '2024-01-21T15:00:00.000Z'
                    valid: true
                    investigation_status: CLSD
                    investigation_data:
                      - original_investigation_reason: UTAP
                        response_data:
                          response_narrative: The statement entry with reference EntryRef1 on statement with reference Stmnt1 is linked to the settlement of account related fees.
                    original_investigation_request:
                      message_identification: 'MsgID2'
                      requestor_investigation_identification: ReqInvID2
                      eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396
                      investigation_type: UTAP
                      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: MsgID2
                      message_name_identification: InvestigationRequest
                      creation_date_time: '2024-01-21T14:00:00.000Z'
                    investigation_identification:
                      requestor_investigation_identification: ReqInvID2
                      eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396
                  - 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: MsgID2
                      message_name_identification: InvestigationRequest
                      creation_date_time: '2024-01-21T14:00:00.000Z'
                    investigation_identification:
                      requestor_investigation_identification: ReqInvID2
                      eir: e1f9a09e-7e96-4b02-bd68-9a74a40d2396