openapi: 3.0.2
info:
  title: Securities Settlement View API
  description: |
    The API supports retrieval of previously created Securities Settlement Instruction by the Participant. Securities Settlement Instruction is used by the Instructing party to request a transfer of securities, relating to a securities settlement with or without a cash payment. In a securities settlement lifecycle both sides, meaning the asset manager and broker dealer will initiate the process from each side, and these instructions will be pushed downstream by the various intermediaries to meet in the middle with the Central Securities Depository (the so-called CSD). 
    
    `The API supports following type of instruction:`

      * Consolidate view of delivery and receive post trade settlement instructions
      * Audit events in a chain of settlement instructions
      * Get status update of securities settlement by criteria

    `Error Responses`

    The API uses common HTTP status codes in the response header to indicate success or failure. Specific error code and description will be returned in the custom error schema.

    `Query Parameters`

    Each URL query parameter specifies an API query parameter that must be URL encoded.
      
  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: 1.0.6
servers:
  # Added by API Auto Mocking Plugin
  - description: SwaggerHub API Auto Mocking
    url: https://virtserver.swaggerhub.com/SWIFT-API/securities-settlement-view/1.0.6
  - description: URL for Apigee (SDK consumer) Pilot.
    url: https://api-test.swiftnet.sipn.swift.com/swift-securities-view-pilot/v1
  - description: URL for Apigee (SDK consumer) Live.
    url: https://api.swiftnet.sipn.swift.com/swift-securities-view/v1
  - description: URL for Sandbox Environment.
    url: https://sandbox.swift.com/swift-securities-view/v1
    
security:
  - oauthBearerToken: []
tags:
  - name: Securities View
paths:
  /securities-settlement-views:
    get:
      tags:
        - Securities View
      summary: 'Get Securities Settlement View.'
      description: |
        The endpoint will retrieve a consolidated view of receipt or delivery Securities Settlement instruction with or without payment when an UTI is supplied in the query parameter.
        
        **Specifying Request Filter**
        
        Parameters are specified in the form name=value. A parameter list is appended to a URI after a "?". Multiple parameters are separated by "&".
        
        Note that the query parameters are not URL encoded for readability.
        
        https://api.swiftnet.sipn.swift.com/swift-securities-views/v1/swift-securities-view?uti=1A2B3C4D5E0000000000000000000000123456789

        https://api.swiftnet.sipn.swift.com/swift-securities-views/v1/swift-securities-view?transaction-identification=FRTJ123REC2&participant-bic=DEUTDEFF

      operationId: getSecuritiesSettlementView
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/RBACRole'
        # query
        - $ref: '#/components/parameters/uti'
        - $ref: '#/components/parameters/transaction-identification'
        - $ref: '#/components/parameters/participant-bic'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  settlement_report:
                    description: Provides a consolidate view of delivery and receive post trade settlement instructions.
                    type: array
                    items:
                      $ref: '#/components/schemas/SecuritiesSettlementView'
                  # links:
                  #   $ref: '#/components/schemas/Links'
              examples:
                SettlementInstructionsViewBothSideAPMT:
                  $ref: '#/components/examples/SettlementInstructionsViewBothSideAPMT'
                SettlementInstructionsNoRecord:
                  $ref: '#/components/examples/SettlementInstructionsNoRecord'
                SettlementInstructionsViewFull:
                  $ref: '#/components/examples/SettlementInstructionsViewFull'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '405':
          $ref: '#/components/responses/405-MethodNotAllowed'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '413':
          $ref: '#/components/responses/413-PayloadTooLarge'
        '415':
          $ref: '#/components/responses/415-UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '500':
          $ref: '#/components/responses/500-InternalServerError'
        '502':
          $ref: '#/components/responses/502-BadGateway'
        '503':
          $ref: '#/components/responses/503-ServiceUnavailable'
        '504':
          $ref: '#/components/responses/504-GatewayTimeout'
        default:
          $ref: '#/components/responses/500-InternalServerError'
  /securities-settlement-instructions/{instruction-identifier}/settlement-instruction-audit-events:
    get:
      tags:
        - Securities View
      summary: 'Get Settlement Instruction Audit Events.'
      description: 'The endpoint will retrieve audit event of a specific Securities Settlement Instruction as specified in the request URI. As the instruction progress through various parties in the chain, the response will contain summary of each event in its progression at the time of request.'
      operationId: getSecuritiesSettlementInstructionAuditEvents
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/RBACRole'
        # path
        - $ref: '#/components/parameters/instruction-identifier'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  securities_settlement_instruction_events:
                    description: Provides history of each instruction in a chain of settlement instruction lifecycle.
                    type: array
                    items:
                      $ref: '#/components/schemas/SecuritiesSettlementInstructionDetail'
                      # $ref: '#/components/schemas/SecuritiesSettlementInstructionSummary'
                  # links:
                  #   $ref: '#/components/schemas/Links'
              examples:
                GET-SettlementInstructionsAuditEvent:
                  $ref: '#/components/examples/GET-SettlementInstructionsAuditEvent'
                GET-SettlementInstructionsAuditEventNoRecord:
                  $ref: '#/components/examples/GET-SettlementInstructionsAuditEventNoRecord'
                GET-SettlementInstructionsAuditEventFull:
                  $ref: '#/components/examples/GET-SettlementInstructionsAuditEventFull'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '405':
          $ref: '#/components/responses/405-MethodNotAllowed'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '415':
          $ref: '#/components/responses/415-UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '500':
          $ref: '#/components/responses/500-InternalServerError'
        '502':
          $ref: '#/components/responses/502-BadGateway'
        '503':
          $ref: '#/components/responses/503-ServiceUnavailable'
        '504':
          $ref: '#/components/responses/504-GatewayTimeout'
        default:
          $ref: '#/components/responses/500-InternalServerError'
  /settlement-instruction-status-summary-report:
    get:
      tags:
        - Securities View
      summary: 'Get Instruction Status Summary.'
      description: 'The endpoint will retrieve summary report of securities settlement instruction status by the criteria provided'
      operationId: getSecuritiesSettlementInstructionStatusSummary
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/RBACRole'
        # query
        - $ref: '#/components/parameters/bic'
        - $ref: '#/components/parameters/from-date-time'
        - $ref: '#/components/parameters/to-date-time'
        - $ref: '#/components/parameters/pagination-limit'
        - $ref: '#/components/parameters/next-page-token'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecuritiesSettlementStatusReport'
              examples:
                GET-SettlementInstructionsStatusReport:
                  $ref: '#/components/examples/GET-SettlementInstructionsStatusReport'
                GET-SettlementInstructionsAuditEventFull:
                  $ref: '#/components/examples/GET-SettlementInstructionsStatusReport-RAW'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '405':
          $ref: '#/components/responses/405-MethodNotAllowed'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '415':
          $ref: '#/components/responses/415-UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/429-TooManyRequests'
        '500':
          $ref: '#/components/responses/500-InternalServerError'
        '502':
          $ref: '#/components/responses/502-BadGateway'
        '503':
          $ref: '#/components/responses/503-ServiceUnavailable'
        '504':
          $ref: '#/components/responses/504-GatewayTimeout'
        default:
          $ref: '#/components/responses/500-InternalServerError'

components:
  schemas:
    ActiveCurrencyAndAmount:
      type: object
      description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
      additionalProperties: false
      properties:
        currency:
          $ref: '#/components/schemas/ActiveCurrencyCode'
        amount:
          type: string
          maxLength: 19
          pattern: ^0*(([0-9]{0,13}\.[0-9]{1,5})|([0-9]{0,14}\.[0-9]{1,4})|([0-9]{0,15}\.[0-9]{1,3})|([0-9]{0,16}\.[0-9]{1,2})|([0-9]{0,17}\.[0-9]{1,1})|([0-9]{0,18}\.)|0*|([0-9]{0,18}))$
      required:
        - currency
        - amount
    ActiveCurrencyCode:
      type: string
      pattern: ^[A-Z]{3,3}$
      description: |
        A code allocated to a currency by a Maintenance Agency under an international identification scheme as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
    ActiveOrHistoricCurrencyAnd13DecimalAmount:
      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. The number of fractional digits (or minor unit of currency) is not checked as per ISO 4217: It must be lesser than or equal to 13.
        Note: The decimal separator is a dot.
      additionalProperties: false
      properties:
        currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
        amount:
          type: string
          maxLength: 19
          pattern: ^0*(([0-9]{0,5}\.[0-9]{1,13})|([0-9]{0,6}\.[0-9]{1,12})|([0-9]{0,7}\.[0-9]{1,11})|([0-9]{0,8}\.[0-9]{1,10})|([0-9]{0,9}\.[0-9]{1,9})|([0-9]{0,10}\.[0-9]{1,8})|([0-9]{0,11}\.[0-9]{1,7})|([0-9]{0,12}\.[0-9]{1,6})|([0-9]{0,13}\.[0-9]{1,5})|([0-9]{0,14}\.[0-9]{1,4})|([0-9]{0,15}\.[0-9]{1,3})|([0-9]{0,16}\.[0-9]{1,2})|([0-9]{0,17}\.[0-9]{1,1})|([0-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".
    AddressTypeCode:
      type: string
      description: |
        Specifies the type of address.
        * HOME -  Address is the home address.
        * BIZZ -  Address is the business address.
        * ADDR -  Address is the complete postal address.
        * PBOX -  Address is a postal office (PO) box.
        * MLTO -  Address is the address to which mail is sent.
        * DLVY -  Address is the address to which delivery is to take place.
      enum:
        - HOME
        - BIZZ
        - ADDR
        - PBOX
        - MLTO
        - DLVY
    AmountAndDirectionSummary:
      type: object
      description: |
        Posting of an item to a cash account, in the context of a cash transaction, that results in an increase or decrease to the balance of the account.
      additionalProperties: false
      properties:
        amount:
          x-MXComponent: ActiveCurrencyAndAmount
          # Amount of money in the cash entry.  minInclusive: 0 totalDigits: 18 fractionDigits: 5
          $ref: '#/components/schemas/ActiveCurrencyAndAmount'
        credit_debit_indicator:
          type: string
          description: |
            Indicates whether an entry is a credit or a debit.
            * CRDT - credit -Operation is an increase.
            * DBIT - debit  -Operation is a decrease.
          enum:
            - CRDT
            - DBIT
      required:
        - amount
        - credit_debit_indicator
    DateAndDateTimeChoice:
      type: object
      description: Choice between a date or a date and time format.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            date:
              #  Specified date.
              $ref: '#/components/schemas/ISODate'
          required:
            - date
        - type: object
          additionalProperties: false
          properties:
            date_time:
              #  Specified date and time.
              $ref: '#/components/schemas/ISODateTime'
          required:
            - date_time
    DateTypeCode:
      type: string
      description: |
        Ongoing basis, which indicates that the date is determined by "ongoing basis" process, for example "au fil de l'eau".
        
        * VARI - Partial trades have occurred over a period of two or more days.
      enum:
        - VARI
    EffectiveSettlementDateChoice:
      type: object
      description: Choice of format for the settlement date.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            date:
              #  Date in ISO format.
              $ref: '#/components/schemas/DateAndDateTimeChoice'
          required:
            - date
        - type: object
          additionalProperties: false
          properties:
            date_code:
              x-MXComponent: SettlementDateCode9Choice
              #  'Date and time at which the securities are to be delivered or received.'
              $ref: '#/components/schemas/GenericIdentification43535'
          required:
            - date_code
    FinancialInstrumentQuantityChoice:
      type: object
      description: Choice between formats for the quantity of security.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            unit:
              x-MXComponent: DecimalNumber
              description: |
                Quantity expressed as a number, for example, a number of shares for example 0.75 or 45.6.  
                
                totalDigits: 18 
                fractionDigits: 17
              type: string
              maxLength: 18
          required:
            - unit
        - type: object
          additionalProperties: false
          properties:
            face_amount:
              x-MXComponent: ImpliedCurrencyAndAmount
              description: |
                Quantity expressed as an amount representing the face amount, that is, the principal, of a debt instrument.
                
                minInclusive: 0
                totalDigits: 18
                fractionDigits: 5
              type: string
              maxLength: 18
          required:
            - face_amount
        - type: object
          additionalProperties: false
          properties:
            amortised_value:
              x-MXComponent: ImpliedCurrencyAndAmount
              description: |
                Quantity expressed as an amount representing the current amortised face amount of a bond, for example, a periodic reduction/increase of a bond's principal amount.
  
                minInclusive: 0
                totalDigits: 18
                fractionDigits: 5
              type: string
              maxLength: 18
          required:
            - amortised_value
    GenericIdentification:
      type: object
      description: Information related to an identification, for example, party identification or account identification.
      additionalProperties: false
      properties:
        identification:
          x-MXComponent: Max35Text
          description:  Proprietary information, often a code, issued by the data source scheme issuer.
          type: string
          minLength: 1
          maxLength: 35
        issuer:
          x-MXComponent: Max35Text
          description:  Entity that assigns the identification.
          type: string
          minLength: 1
          maxLength: 35
        scheme_name:
          x-MXComponent: Max35Text
          description:  Short textual description of the scheme.
          type: string
          minLength: 1
          maxLength: 35
      required:
        - identification
        - issuer
    GenericIdentification43535:
      type: object
      description: Information related to an identification, for example, party identification or account identification.
      additionalProperties: false
      properties:
        identification:
          x-MXComponent: Exact4AlphaNumericText
          description:  Proprietary information, often a code, issued by the data source scheme issuer.
          type: string
          pattern: ^[a-zA-Z0-9]{4}$
        issuer:
          x-MXComponent: Max35Text
          description:  Entity that assigns the identification.
          type: string
          minLength: 1
          maxLength: 35
        scheme_name:
          x-MXComponent: Max35Text
          description:  Short textual description of the scheme.
          type: string
          minLength: 1
          maxLength: 35
      required:
        - identification
        - issuer
    GenericIdentification444:
      type: object
      description: Information related to an identification, for example, party identification or account identification.
      additionalProperties: false
      properties:
        identification:
          x-MXComponent: Exact4AlphaNumericText
          description: Proprietary information, often a code, issued by the data source scheme issuer.
          type: string
          minLength: 4
          maxLength: 4
          pattern: ^([a-zA-Z0-9])+$
        issuer:
          x-MXComponent: Max4AlphaNumericText
          description:  Entity that assigns the identification.
          type: string
          minLength: 1
          maxLength: 4
          pattern: ^([a-zA-Z0-9])+$
        scheme_name:
          x-MXComponent: Max4AlphaNumericText 
          description:  Short textual description of the scheme.
          type: string
          minLength: 1
          maxLength: 4
          pattern: ^([a-zA-Z0-9])+$
      required:
        - identification
        - issuer
    ISODate:
      type: string
      description: |
        A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.
      pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
    ISODateTime:
      type: string
      description: |
        A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.
        Note on the time format:
        1) beginning / end of calendar day
        00:00:00 = the beginning of a calendar day
        24:00:00 = the end of a calendar day
        2) fractions of second in time format
        Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
      pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.[0-9]+)?(?:Z|[+-][01]\d:[0-5]\d)?$
    IdentificationSourceChoice:
      type: object
      description: Choice between source of identification of a financial instrument.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            code:
              x-MXComponent: ExternalFinancialInstrumentIdentificationTypeCode
              description: |
                Unique and unambiguous identification source, as assigned via a pre-determined code list. Specifies the external financial instrument identification type scheme name code in the format of character string with a maximum length of 4 characters. The list of valid codes is an external code list published separately. External code sets can be downloaded from www.iso20022.org.
              type: string
              minLength: 1
              maxLength: 4
          required:
            - code
        - type: object
          additionalProperties: false
          properties:
            proprietary:
              x-MXComponent: RestrictedFINExact2Text
              description:  Unique and unambiguous identification source using a proprietary identification scheme. Specifies a character string with an exact length of 2 characters matching the pattern XX|TS.
              type: string
              minLength: 2
              maxLength: 2
              pattern: ^XX|TS$
          required:
            - proprietary
    InstructionLifecycleStatusChoice:
      type: object
      description: Provideds the status of securities settlement.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            code:
              #  Specifies additional information about the processed instruction.
              $ref: '#/components/schemas/SecuritiesSettlementInstructionLifecycleStatusTypeCode'
          required:
            - code
        - type: object
          additionalProperties: false
          properties:
            proprietary:
              x-MXComponent: GenericIdentification47
              #  Specifies additional information about the processed instruction.
              $ref: '#/components/schemas/GenericIdentification43535'
          required:
            - proprietary
    InstructionLifecycleStatusReasonChoice:
      type: object
      description: Reason provided for the status.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            code:
              #  Specifies additional information about the processed instruction.
              $ref: '#/components/schemas/InstructionLifecycleStatusReasonCode'
          required:
            - code
        - type: object
          additionalProperties: false
          properties:
            proprietary:
              x-MXComponent: GenericIdentification47
              #  'Specifies additional information about the processed instruction.'
              $ref: '#/components/schemas/GenericIdentification444'
          required:
            - proprietary
    InstructionLifecycleStatusReasonCode:
      type: string
      description: |
        Specifies additional information about the processed instruction.
        
        * ADEA - Received after the account servicer's deadline. Processed on best effort basis.
        * SMPG - Instruction is accepted but does not comply with the market practice rule published for the concerned market or process.
        * NSTP - Instruction was not straight through processing and had to be processed manually.
        * RQWV - Instruction registration is accepted but the registration is not in full, that is, not with voting rights.
        * OTHR - Other. See Narrative.
        * CDCY - Execution is conditional to the execution of a process linked to the currency of the transaction.
        * CDRG - Execution is conditional to the execution of a process at the registrar.
        * CDRE - Execution is conditional to the execution of a process of realignment at the issuer CSD.
        * NARR - See narrative field for reason.
        * BLOC - Your account is blocked, no instruction can settle over the account.
        * DOCY - Awaiting documents, registration instruction or endorsements from you.
        * CAIS - Awaiting financial instruments from a corporate action issue or other procedure, for example, conversion, dematerialisation, exchange, registration, stamping, splitting.
        * YCOL - Insufficient collateral in your account to execute the instruction.
        * CDEL - Instruction is in a hold/frozen/preadvice mode as it fulfils predefined conditional delivery rules in the market infrastructure platform for conditional delivery.
        * CDAC - Awaiting cancellation of one of the party.
        * CDLR - Instruction is in a hold/frozen/preadvice mode. Market infrastructure platform is awaiting release.
        * CSDH - Central securities depository sets the instruction in a hold/frozen/preadvice mode.
        * CVAL - Instruction is in a hold/frozen/preadvice mode as it fulfils predefined conditions of a restriction processing type in the market infrastructure platform.
        * GLOB - Settlement cannot be executed; financial instruments are in global form.
        * INBC - Not all the instructions part of a pool have been received.
        * LIQU - Central bank liquidity is insufficient.
        * MONY - Insufficient money in your account.
        * LACK - Insufficient financial instruments in your account.
        * FLIM - Insufficient deliverable financial instruments in your account as maximum foreign limit has been reached.
        * MINO - Quantity instructed is lower than the minimum existing settlement quantity for the financial instrument.
        * NEXT - Next process is launched. No processing pending problems to be reported.
        * NOFX - A foreign exchange instruction from you is missing.
        * LALO - Financial instruments are out on loan.
        * COLL - Financial instruments are not deliverable as they are pledged as collateral.
        * DENO - Quantity instructed does not match the denomination available/deliverable. Physical securities need to be obtained in deliverable denominated quantities.
        * CERT - Certificate number error.
        * SAFE - Instruction contains an invalid or unrecognised safekeeping account.
        * CASH - Unrecognised or invalid cash account.
        * PLCE - Unrecognised or invalid place of trade.
        * DDEA - Unrecognised or invalid deal price.
        * DSEC - Unrecognised or invalid financial instrument identification.
        * LATE - Received after market deadline.
        * DQUA - Unrecognised or invalid instructed quantity.
        * DTRD - Unrecognised or invalid trade date or requested trade date or future trade date.
        * MUNO - Quantity instructed is not a multiple of an existing settlement quantity lot for the financial instrument.
        * BATC - Unrecognised or invalid processing batch, that is, daytime/real-time while only possible to settle in overnight batch.
        * SDUT - Stamp duty information is missing.
        * NCRR - Unrecognised or invalid settlement amount currency.
        * REFE - Instruction has a reference identical to another previously received instruction.
        * DMON - Unrecognised or invalid settlement amount. OR Counterparty disagrees with the settlement amount.
        * TXST - Unrecognised or invalid tax status of the securities instructed.
        * IIND - Unrecognised, invalid or missing common reference.
        * CAEV - Corporate action pending on the financial instrument instructed.
        * CASY - Impossible standing arrangements override instruction for the cash settlement system.
        * DDAT - Settlement date/time does not match or invalid settlement date.
        * SETR - Unrecognised or invalid settlement transaction type.
        * INPS - Unrecognised, invalid or missing place of safekeeping or place of safekeeping information does not allow matching to take place.
        * DEPT - Unrecognised or invalid depository or depository mismatch. OR Counterparty disagrees with the place of settlement.
        * INVB - Unrecognised, invalid or missing balance.
        * INVE - Unrecognised or invalid investor party. May be used by an executing party to reject an instruction for an investor (or portfolio) for which it is not authorised to act.
        * INVL - Invalid or unrecognized link.
        * INVN - Invalid or unrecognized lot number.
        * PLIS - Unrecognised or invalid place of listing or place of listing does not match. Used when the security identified is not listed on the market supplied.
        * CTHP - Instruction has been cancelled by a third party.
        * CXLR - Transaction is rejected by the executing party, the rejection is final therefore the order is cancelled in the system.
        * DOCC - Awaiting documents, registration instruction or endorsements from counterparty.
        * AWMO - Financial instruments are delivered, but still awaiting money from the counterparty.
        * CYCL - Instruction is confirmed in the local market or is ready for settlement, awaiting next settlement cycle.
        * LAAW - Awaiting settlement of a purchase to cover failing positions.
        * AWSH - Financial instruments have not yet been received from the counterparty.
        * FUTU - Awaiting settlement date. No settlement problems to be reported.
        * BENO - Disagreement in beneficial ownership.
        * BOTH - Counterparty's instruction and your instruction are on hold/frozen/in a preadvice mode.
        * REGT - Certificates have been lodged with the registrar but rejected due to incomplete documentation or foreign ownership limitation reached.
        * CLHT - Instructed settlement date does not agree with the settlement date on the Clearing House trade.
        * NCON - Confirmation of settlement has not yet been received.
        * CPEC - Counterparty is in receivership (form of bankruptcy where a court appointed person, the receiver, manages the affairs of the business).
        * PRCY - Counterparty's instruction is on hold/frozen/in a preadvice mode.
        * CMON - Insufficient money in counterparty's account.
        * CLAC - Insufficient deliverable financial instruments in counterparty's account or counterparty does not hold financial instruments.
        * DKNY - Counterparty has returned or refused the financial instruments.
        * CHAS - A chaser/enquiry has been sent.
        * INCA - Financial instruments require income adjustment, for example, dividend or interest.
        * REFU - Instruction has been refused or not recognised and is represented automatically.
        * DISA - Exceptional closing of all financial institutions due to natural disaster, for example, earthquake.
        * NEWI - Financial instrument is a new issue and not yet available/tradable.
        * NMAS - Instruction has not been matched; matching process is not required or has not yet started.
        * REFS - Delivery/receipt was refused because physical financial instruments are not in good order.
        * LINK - Your instruction is pending settlement because the instruction linked to it is pending.
        * PHSE - Settlement is physical. Financial instruments are being delivered.
        * PHCK - Physical financial instruments have been received and are being checked for authenticity.
        * DEPO - Deposit of shares for the issuing of depositary receipts has been refused. The allotment granted by the issuer is exceeded by your transaction.
        * SBLO - Financial instruments are blocked due to a corporate action event, realignment, etc.
        * FROZ - Financial instruments are blocked at the Central Security Depository (CSD) following a corporate event.
        * SETS - Settlement system/method does not match, unrecognised or invalid
        * IAAD - Pending reason being investigated.
        * PRSY - Transaction was put on hold/frozen by the system.
        * TAMM - Trade is being amended in the market.
        * PART - Trade will settle in partials.
        * PREA - Your instruction is a preadvice, that is, for matching only.
        * BYIY - Buy-in procedure has started on the market (on your behalf if your instruction is a receipt, by the counterparty if your instruction is a delivery).
        * CANI - Instruction has been cancelled as per your request.
        * CANS - Instruction has been cancelled by the settlement system.
        * CANT - Original instruction has been cancelled and replaced due to a corporate action.
        * CANZ - Original instruction has been cancelled and replaced to allow a partial or split settlement.
        * CORP - Instruction has been cancelled due to a corporate action.
        * CSUB - Instruction has been cancelled by the agent.
        * EXPI - Instruction has expired.
        * SCEX - Instruction has been cancelled; the security no longer exists or is no longer eligible on the market instructed. For corporate action related cancellation, CORP should be used.
        * CONF - Awaiting confirmation from the counterparty.
        * CALD - Repurchase agreement call is in process.
        * CALP - Repurchase agreement call is processed.
        * CLAI - Relates to a market claim.
        * RODE - Relates to the return of financial instruments resulting from a rejected delivery without matching operation.
        * SPLI - Transaction has been generated to enable settlement following a shortage of position.
        * THRD - Transaction has been generated by a third party, for example, a central counterparty.
        * TRAN - Transaction resulting from a transformation.
        * DCAL - Repo call request was denied since another call already applies.
        * DCAN - Request was denied since the instruction has been cancelled.
        * DFOR - Repo call request was denied. Call not allowed on the concerned repo, for example, out of delay.
        * DPRG - Request was denied because the process of settlement is in progress.
        * DREP - Request was denied because the repo was cancelled.
        * DSET - Request was denied because the instruction was settled.
        * ACRU - Accrued interest amount does not match.
        * CADE - Unrecognised or invalid transaction call delay.
        * CLAT - Counterparty's instruction was too late for matching.
        * CMIS - Matching instruction from the counterparty could not be found.
        * CPCA - Counterparty has cancelled the transaction/instruction.
        * DCMX - Disagreement if trade was executed cum or ex.
        * DELN - Counterparty expects a delivery not a receipt, or counterparty expects a receipt not a delivery.
        * DMCT - Disagreement on automatic generation of market claim or transformation.
        * FRAP - Counterparty's instructions is for free settlement, and yours is for settlement against payment, or vice versa.
        * PHYS - Counterparty's instructions is for physical settlement, and yours is not, or vice versa. OR Physical settlement is impossible for the instructed financial instrument.
        * REGD - Discrepancies exist in the registration details linked to the transaction.
        * REPO - Repurchase rate does not match.
        * RERT - Repurchase rate type does not match.
        * RTGS - Counterparty indicates a settlement via RTGS system and you indicate non-RTGS settlement, or vice versa.
        * DTRA - Counterparty has been contacted or contacted us, and does not recognise the transaction.
        * ICAG - Counterparty indicated an incorrect delivery or receiving agent. OR Unrecognised or invalid participant of delivering or receiving depository or does not match.
        * ICUS - Incorrect delivering or receiving custodian. OR Unrecognised or invalid client or mismatch of delivering or receiving party 1.
        * IEXE - Instruction indicates an incorrect buyer (receiver) or seller (deliverer). OR Unrecognised or mismatch or invalid client of delivering or receiving party 2.
        * LEOG - Counterparty is for settlement through letter of guarantee, your instruction is not, or vice versa.
        * MIME - Missing market execution details.
        * PODU - Instruction has not been matched. It is a possible duplicate instruction.
        * REPR - Cancellation request is in repair.
        * REPP - Unrecognised or invalid premium amount.
        * TERM - Closing date/time does not match.
        * UNBR - Market side trade is unmatched.
        * VASU - Variable rate support does not match.
        * PATD - Disagreement on partial indicator preventing partial settlement.
        * PREL - Transaction has been partially released.
        * CANR - Instruction was in suspense. Suspense period is finished so your cancellation or confirmation of instruction is required.
        * MLAT - Covering money/financial instruments were received too late for completing settlement on a same day basis.
        * OBJT - Financial instruments are, for example, stolen, in dispute, under objection.
        * STCD - Discrepancy in the settlement confirmation.
        * INVM - Invalid or unrecognized modification request.
        * MISM - Statement/status advice request cannot be executed. The message type requested is not valid for the message reference or statement period concerned.
        * NRGM - Cancellation request has been rejected since more than one instruction match to the cancellation criteria.
        * NRGN - Cancellation request has been rejected since the instruction could not be found.
        * VALR - Account servicer validation rule rejection.
        * NORE - No reason to report or no reason available to report.
      enum:
      - ADEA
      - SMPG
      - NSTP
      - RQWV
      - OTHR
      - CDCY
      - CDRG
      - CDRE
      - NARR
      - BLOC
      - DOCY
      - CAIS
      - YCOL
      - CDEL
      - CDAC
      - CDLR
      - CSDH
      - CVAL
      - GLOB
      - INBC
      - LIQU
      - MONY
      - LACK
      - FLIM
      - MINO
      - NEXT
      - NOFX
      - LALO
      - COLL
      - DENO
      - CERT
      - SAFE
      - CASH
      - PLCE
      - DDEA
      - DSEC
      - LATE
      - DQUA
      - DTRD
      - MUNO
      - BATC
      - SDUT
      - NCRR
      - REFE
      - DMON
      - TXST
      - IIND
      - CAEV
      - CASY
      - DDAT
      - SETR
      - INPS
      - DEPT
      - INVB
      - INVE
      - INVL
      - INVN
      - PLIS
      - CTHP
      - CXLR
      - DOCC
      - AWMO
      - CYCL
      - LAAW
      - AWSH
      - FUTU
      - BENO
      - BOTH
      - REGT
      - CLHT
      - NCON
      - CPEC
      - PRCY
      - CMON
      - CLAC
      - DKNY
      - CHAS
      - INCA
      - REFU
      - DISA
      - NEWI
      - NMAS
      - REFS
      - LINK
      - PHSE
      - PHCK
      - DEPO
      - SBLO
      - FROZ
      - SETS
      - IAAD
      - PRSY
      - TAMM
      - PART
      - PREA
      - BYIY
      - CANI
      - CANS
      - CANT
      - CANZ
      - CORP
      - CSUB
      - EXPI
      - SCEX
      - CONF
      - CALD
      - CALP
      - CLAI
      - RODE
      - SPLI
      - THRD
      - TRAN
      - DCAL
      - DCAN
      - DFOR
      - DPRG
      - DREP
      - DSET
      - ACRU
      - CADE
      - CLAT
      - CMIS
      - CPCA
      - DCMX
      - DELN
      - DMCT
      - FRAP
      - PHYS
      - REGD
      - REPO
      - RERT
      - RTGS
      - DTRA
      - ICAG
      - ICUS
      - IEXE
      - LEOG
      - MIME
      - PODU
      - REPR
      - REPP
      - TERM
      - UNBR
      - VASU
      - PATD
      - PREL
      - CANR
      - MLAT
      - OBJT
      - STCD
      - INVM
      - MISM
      - NRGM
      - NRGN
      - VALR
      - NORE
    InstructionParty:
      type: object
      description: Chain of parties involved in the sending and receiving instruction.
      additionalProperties: false
      properties:
        event_sender:
          description:  Specify the unique identification (BIC) of sender of the instruction.
          type: string
          pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
          readOnly: true
        message_originator:
          description:  Specify the identification of the originator.
          type: string
          minLength: 1
          maxLength: 35
          readOnly: true
        event_receiver:
          description:  Specify the unique identification (BIC) of receiver of the instruction.
          type: string
          pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
          readOnly: true
        message_receiver:
          description:  Specify the identification of the receiver.
          type: string
          minLength: 1
          maxLength: 35
          readOnly: true
        create_timestamp:
          #  Date and time at which the instruction was created.
          $ref: '#/components/schemas/ISODateTime'
    OriginalAndCurrentQuantity:
      type: object
      description: Original and current value of an asset-back instrument.
      additionalProperties: false
      properties:
        face_amount:
          x-MXComponent: ImpliedCurrencyAndAmount
          description:  |
            Quantity expressed as an amount representing the face amount, that is, the principal of a debt instrument.
            
            minInclusive: 0
            totalDigits: 18
            fractionDigits: 5
          type: string
          maxLength: 18
          # 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}))$
        amortised_value:
          x-MXComponent: ImpliedCurrencyAndAmount
          description: | 
            Quantity expressed as an amount representing the current amortised face amount of a bond, for example, a periodic reduction/increase of a bond's principal amount.
            
            minInclusive: 0
            totalDigits: 18
            fractionDigits: 5
          type: string
          maxLength: 18
      required:
        - face_amount
        - amortised_value
    OtherIdentification:
      type: object
      description: Other accepted financial instrument's identification than ISIN.
      additionalProperties: false
      properties:
        identification:
          x-MXComponent: Max35Text
          description:  Identification of a security.
          type: string
          minLength: 1
          maxLength: 35
        suffix:
          x-MXComponent: Max16Text
          description:  Identifies the suffix of the security identification.
          type: string
          minLength: 1
          maxLength: 16
        type:
          #  Type of the identification.
          $ref: '#/components/schemas/IdentificationSourceChoice'
      required:
        - identification
        - type
    PartyIdentification:
      type: object
      description: Identification of a party.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous way to identify an organisation.
          $ref: '#/components/schemas/PartyIdentificationChoice'
        ##  v1.0.6  change  ##
        # lei:
        #   x-MXComponent: LEIIdentifier
        #   description:  Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
        #   type: string
        #   pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
        # alternate_identification:
        #   #  Alternate identification for a party.
        #   $ref: '#/components/schemas/AlternatePartyIdentification'
        # processing_date:
        #   description:  Date/time at which the instruction was processed by the specified party.
        #   oneOf:
        #     - $ref: '#/components/schemas/ISODateTime'
        #     - $ref: '#/components/schemas/ISODate'
        # processing_identification:
        #   x-MXComponent: Max35Text
        #   description:  Unambiguous identification of the transaction for the party identified.
        #   type: string
        #   minLength: 1
        #   maxLength: 35
        # additional_information:
        #   #  Provides additional information to a party identification.
        #   $ref: '#/components/schemas/PartyTextInformation'
      required:
        - identification
    PartyIdentificationAndAccount:
      type: object
      description: Party and account details.
      additionalProperties: false
      properties:
        identification:
          #  Identification of the party.
          $ref: '#/components/schemas/PartyIdentificationChoiceDetail'
        ##  v1.0.6  change  ##
        # lei:
        #   x-MXComponent: LEIIdentifier
        #   description:  Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
        #   type: string
        #   pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
        # alternate_identification:
        #   #  Alternate identification for the party.
        #   $ref: '#/components/schemas/AlternatePartyIdentification'
        safekeeping_account:
          #  Identification of the account owned by the party.
          $ref: '#/components/schemas/SecuritiesAccount'
        ## v1.0.6 change  ##
        # processing_date:
        #   description:  Date/time at which the instruction was processed by the specified party.
        #   oneOf:
        #     - $ref: '#/components/schemas/ISODateTime'
        #     - $ref: '#/components/schemas/ISODate'
        # processing_identification:
        #   x-MXComponent: Max35Text
        #   description:  Unambiguous identification of the transaction for the party identified.
        #   type: string
        #   minLength: 1
        #   maxLength: 35
        # additional_information:
        #   #  Additional information about the party.
        #   $ref: '#/components/schemas/PartyTextInformation'
      required:
        - identification
    PartyIdentificationChoice:
      type: object
      description: Choice of formats for the identification of a party.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            bic:
              x-MXComponent: AnyBICDec2014Identifier
              x-Validation: true
              x-ValidationType: Algorithmic
              x-Error: ErrorCode:Sw.Stds.D00008, ErrorText:Invalid BIC., SWIFTNetValidation:true  Severity:Fatal
              description: |
                Business identification code of the organisation. Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - "Banking - Banking telecommunication messages - Business identifier code (BIC)".
              type: string
              pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
              #  Unique and unambiguous way to identify an organisation.
          required:
            - bic
        ##  v1.0.6  change  ##
        # - type: object
        #   additionalProperties: false
        #   properties:
        #     name:
        #       x-MXComponent: Max350Text
        #       description:  Unique and unambiguous way to identify an organisation.
        #       type: string
        #       minLength: 1
        #       maxLength: 350
        #   required:
        #     - name
        - type: object
          additionalProperties: false
          properties:
            country:
              x-Validation: true
              x-ValidationType: Algorithmic, ReferenceData
              x-Error: ErrorCode:Sw.Stds.D00004, ErrorText:Invalid Country Code., SWIFTNetValidation:true,  Severity:Fatal
              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).
              #  Unique and unambiguous way to identify an organisation.
          required:
            - country
    PartyIdentificationChoiceDetail:
      type: object
      description: Choice of formats for the identification of a party.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            bic:
              x-MXComponent: AnyBICDec2014Identifier
              x-Validation: true
              x-ValidationType: Algorithmic
              x-Error: ErrorCode:Sw.Stds.D00008, ErrorText:Invalid BIC., SWIFTNetValidation:true  Severity:Fatal          
              description: |
                Business identification code of the organisation. Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - "Banking - Banking telecommunication messages - Business identifier code (BIC)".
              type: string
              pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
              #  Unique and unambiguous way to identify an organisation.
          required:
            - bic
        - type: object
          additionalProperties: false
          properties:
            proprietary_identification:
              x-MXComponent: GenericIdentification84
              #  Unique and unambiguous identifier, as assigned to a financial institution using a proprietary identification scheme.
              $ref: '#/components/schemas/GenericIdentification'
          required:
            - proprietary_identification
        ##  v1.0.6  change  ##
        # - type: object
        #   additionalProperties: false
        #   properties:
        #     name:
        #       x-MXComponent: Max350Text
        #       description:  Unique and unambiguous way to identify an organisation by name.
        #       type: string
        #       minLength: 1
        #       maxLength: 350
        #   required:
        #     - name
    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
    PostalAddress:
      type: object
      description: Information that locates and identifies a specific address, as defined by postal services.
      additionalProperties: false
      properties:
        address_type:
          # x-MXComponent: AddressType2Code
          # Identifies the nature of the postal address.
          $ref: '#/components/schemas/AddressTypeCode'
        address_line:
          type: array
          maxItems: 5
          description:  Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.
          items:
            type: string
            minLength: 1
            maxLength: 70
        street_name:
          x-MXComponent: Max70Text
          description:  Name of a street or thoroughfare.
          type: string
          minLength: 1
          maxLength: 70
        building_number:
          x-MXComponent: Max16Text
          description:  Number that identifies the position of a building on a street.
          type: string
          minLength: 1
          maxLength: 16
        post_box:
          x-MXComponent: Max16Text
          description:  Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.
          type: string
          minLength: 1
          maxLength: 16
        post_code:
          x-MXComponent: Max16Text
          description:  Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
          type: string
          minLength: 1
          maxLength: 16
        town_name:
          x-MXComponent: Max35Text
          description:  Name of a built-up area, with defined boundaries, and a local government.
          type: string
          minLength: 1
          maxLength: 35
        country_sub_division:
          x-MXComponent: Max35Text
          description:  Identifies a subdivision of a country for example, state, region, county.
          type: string
          minLength: 1
          maxLength: 35
        country:
          x-MXComponent: CountryCode
          x-Validation: true
          x-ValidationType: Algorithmic, ReferenceData
          x-Error: ErrorCode:Sw.Stds.D00004, ErrorText:Invalid Country Code., SWIFTNetValidation:true,  Severity:Fatal
          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).
      required:
        - country
    Price:
      type: object
      description: Type and information about a price.
      additionalProperties: false
      properties:
        type:
          #  Indicates whether the price is expressed as a yield. The value is true or false.
          $ref: '#/components/schemas/YieldedOrValueTypeChoice'
        value:
          #  Value of the price, for example, as a currency and value.
          $ref: '#/components/schemas/PriceRateOrAmountChoice'
      required:
        - type
        - value
    PriceRateOrAmountChoice:
      type: object
      description: Choice of formats for the price.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            rate:
              #  Price expressed as a rate, that is percentage.
              $ref: '#/components/schemas/PercentageRate'
          required:
            - rate
        - type: object
          additionalProperties: false
          properties:
            amount:
              #  Price expressed as a currency and value.
              $ref: '#/components/schemas/ActiveOrHistoricCurrencyAnd13DecimalAmount'
          required:
            - amount
    PriceValueTypeCode:
      type: string
      description: |
        Price will not be paid.
        * DISC - Price expressed as a number of percentage points below par, for example, a discount price of 2.0% equals a price of 98 when par is 100.
        * PREM - Price expressed as a number of percentage points above par, for example, a premium price of 2.0% equals a price of 102 when par is 100.
        * PARV - Price is the face amount.
      enum:
        - DISC
        - PREM
        - PARV
    QuantityChoice:
      type: object
      description: Choice of format for the quantity.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            quantity:
              x-MXComponent: FinancialInstrumentQuantity33Choice
              #  'Quantity of financial instrument in units, original face amount or current face amount.'
              $ref: '#/components/schemas/FinancialInstrumentQuantityChoice'
          required:
            - quantity
        - type: object
          additionalProperties: false
          properties:
            original_and_current_face:
              x-MXComponent: OriginalAndCurrentQuantities1
              #  'Original and current value of an asset-back instrument.'
              $ref: '#/components/schemas/OriginalAndCurrentQuantity'
          required:
            - original_and_current_face
    Reference:
      type: object
      description: Provides list of identification assigned to trade or securities settlement within its lifecycle.
      additionalProperties: false
      properties:
        uti:
          x-MXComponent: Max52Text
          description: |
            An unique identification assigned to the trade by the investor or the trading party. This reference will be used throughout the trade life cycle to access/update the trade details.
          type: string
          minLength: 1
          maxLength: 52
          readOnly: true
        participant_transaction_identification:
          x-MXComponent: Max35Text
          description: |
            The SEME or the transaction identification of the most recent instruction message that the participant BIC has sent (not necessarily instruction). The value might be the same as the Participant Instruction Identifier.
          type: string
          minLength: 1
          maxLength: 35
        message_identification:
          x-MXComponent: Max35Text
          description: |
            A point to point identification (e.g. MEOR, MERE) when instruction identification is not available or the entire journey is not on chain. This identification is only available when the participant BIC's transaction identification is not available.
          type: string
          minLength: 1
          maxLength: 35
        message_sender:
          description: |
            Specify the BIC of the participant involved in the settlement instruction.  Identifies the sender of the Participant Business Message Identifier SEME (prior field)
          type: string
          pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
    ReferencesChoice:
      type: object
      description: Choice of reference.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            securities_settlement_transaction_identification:
              x-MXComponent: Max35Text
              description: |
                Unambiguous identification of a securities settlement transaction as known by the account owner (or instructing party acting on its behalf).
              type: string
              minLength: 1
              maxLength: 35
          required:
            - securities_settlement_transaction_identification
        - type: object
          additionalProperties: false
          properties:
            account_servicer_transaction_identification:
              x-MXComponent: Max35Text
              description: 'Unambiguous identification of the transaction as known by the account servicer.'
              type: string
              minLength: 1
              maxLength: 35
          required:
            - account_servicer_transaction_identification
        - type: object
          additionalProperties: false
          properties:
            market_infrastructure_transaction_identification:
              x-MXComponent: Max35Text
              description: |
                Identification of a transaction assigned by a market infrastructure other than a central securities depository, for example, Target2-Securities. Corresponds to sequence A1 LINK -> :20C::MITI.
              type: string
              minLength: 1
              maxLength: 35
          required:
            - market_infrastructure_transaction_identification
        - type: object
          additionalProperties: false
          properties:
            pool_identification:
              x-MXComponent: Max35Text
              description: |
                Collective reference identifying a set of messages. Corresponds to sequence A1 LINK -> :20C::POOL'
              type: string
              minLength: 1
              maxLength: 35
          required:
            - pool_identification
        - type: object
          additionalProperties: false
          properties:
            common_identification:
              x-MXComponent: Max35Text
              description: Unique reference agreed upon by the two trade counterparties to identify the trade.
              type: string
              minLength: 1
              maxLength: 35
          required:
            - common_identification
        - type: object
          additionalProperties: false
          properties:
            trade_identification:
              x-MXComponent: Max35Text
              description: |
                Reference assigned to the trade by the investor or the trading party. This reference will be used throughout the trade life cycle to access/update the trade details.
              type: string
              minLength: 1
              maxLength: 35
          required:
            - trade_identification
        - type: object
          additionalProperties: false
          properties:
            other_transaction_identification:
              x-MXComponent: Max35Text
              description: |
                Identification of a transaction that cannot be identified using a standard reference element present in the message.
              type: string
              minLength: 1
              maxLength: 35
          required:
            - other_transaction_identification
    SafeKeepingPlace:
      type: object
      description: Place where the securities are safe-kept, physically or notionally. This place can be, for example, a local custodian, a Central Securities Depository (CSD) or an International Central Securities Depository (ICSD).
      additionalProperties: false
      properties:
        safekeeping_place_format:
          #  Unique identification of the party.
          $ref: '#/components/schemas/SafekeepingPlaceFormatChoice'
        ##  v1.0.6  change  ##
        # lei:
        #   x-MXComponent: LEIIdentifier
        #   description:  Legal entity identification for the branch of the financial institution. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
        #   type: string
        #   pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
    SafekeepingPlaceCode:
      type: string
      description: |
        Specifies the type of place of safekeeping.
        
        * SHHE - Used for certain financial instruments, for example, US mutual funds, where settlement is internal only, that is, there is no external movement of securities.
        * NCSD - Financial instruments held at a National Central Securities Depository.
        * CUST - Financial instruments held at a local custodian.
        * ICSD - Financial instruments held at an International Central Securities Depository.
      enum:
        - SHHE
        - NCSD
        - CUST
        - ICSD
    SafekeepingPlaceFormatChoice:
      type: object
      description: Choice between formats for the place of safekeeping.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            identification:
              #  Place of safekeeping expressed as a code and a narrative description.
              $ref: '#/components/schemas/SafekeepingPlaceTypeAndText'
          required:
            - identification
        - type: object
          additionalProperties: false
          properties:
            country:
              x-MXComponent: CountryCode
              x-Validation: true
              x-ValidationType: Algorithmic, ReferenceData
              x-Error: ErrorCode:Sw.Stds.D00004, ErrorText:Invalid Country Code., SWIFTNetValidation:true,  Severity:Fatal
              type: string
              pattern: ^[A-Z]{2,2}$
              description:  Place of safekeeping expressed with a country code.
          required:
            - country
        - type: object
          additionalProperties: false
          properties:
            type_and_identification:
              #  Place of safekeeping expressed with a type and identification.
              $ref: '#/components/schemas/SafekeepingPlaceTypeAndIdentification'
          required:
            - type_and_identification
        - type: object
          additionalProperties: false
          properties:
            proprietary:
              x-MXComponent: GenericIdentification47
              #  Place of safekeeping expressed with a propriety identification scheme.
              $ref: '#/components/schemas/GenericIdentification444'
          required:
            - proprietary
    SafekeepingPlaceTypeAndIdentification:
      type: object
      description: Identification of the type of place of safekeeping expressed as a code and a BIC.
      additionalProperties: false
      properties:
        safekeeping_place_type:
          #  Place of safekeeping as a code.
          $ref: '#/components/schemas/SafekeepingPlaceCode'
        identification:
          x-MXComponent: AnyBICDec2014Identifier
          x-Validation: true
          x-ValidationType: Algorithmic
          x-Error: ErrorCode:Sw.Stds.D00008, ErrorText:Invalid BIC., SWIFTNetValidation:true  Severity:Fatal          
          description:  Specify the business identification code of the place of safekeeping. Organisation used as the safekeeping place for the securities.
          type: string
          pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
      required:
        - safekeeping_place_type
        - identification
    SafekeepingPlaceTypeAndText:
      type: object
      description: Identification of the place of safekeeping expressed as a code and a narrative description.
      additionalProperties: false
      properties:
        safekeeping_place_type:
          #  Place of safekeeping as a code.
          $ref: '#/components/schemas/SafekeepingPlaceCode'
        identification:
          x-MXComponent: Max35Text
          description:  Additional information about the place of safekeeping.
          type: string
          minLength: 1
          maxLength: 35
      required:
        - safekeeping_place_type
    SecuritiesAccount:
      type: object
      description: Account to or from which a securities entry is made.
      additionalProperties: false
      properties:
        identification:
          x-MXComponent: RestrictedFINXMax35Text
          description:  Unambiguous identification for the account between the account owner and the account servicer.
          type: string
          minLength: 1
          maxLength: 35
        type:
          x-MXComponent: GenericIdentification47
          # description:  Type of securities account.
          $ref: '#/components/schemas/GenericIdentification444'
        ##  v1.0.6 change ##
        # name:
        #   x-MXComponent: Max70Text
        #   description:  Description of the account.
        #   type: string
        #   minLength: 1
        #   maxLength: 70
      required:
      - identification
    SecuritiesIdentification:
      type: object
      description: Identification of a security.
      additionalProperties: false
      properties:
        isin:
          x-MXComponent: ISINOct2015Identifier
          description:  International Securities Identification Number (ISIN). A numbering system designed by the United Nation's International Organisation for Standardisation (ISO). The ISIN is composed of a 2-character prefix representing the country of issue, followed by the national security number (if one exists), and a check digit. Each country has a national numbering agency that assigns ISIN numbers for securities in that country.
          type: string
          minLength: 1
          maxLength: 12
          ##  v1.0.6 change ##
          # pattern: ^[A-Z]{2,2}[A-Z0-9]{9,9}[0-9]{1,1}$
        other_identification:
          description:  Identification of a security by proprietary or domestic identification scheme.
          type: array
          items:
            $ref: '#/components/schemas/OtherIdentification'
        description:
          x-MXComponent: Max140Text
          description:  Textual description of a security instrument.
          type: string
          minLength: 1
          maxLength: 140
    SecuritiesMovementType:
      type: string
      description: |
        Specifies whether the settlement transaction is a delivery or receipt.
        
        * DELI - Financial instruments will be debited from the safekeeping account.
        * RECE - Financial instruments will be credited to the safekeeping account.
      enum:
        - DELI
        - RECE
    SecuritiesSettlementInstruction:
      type: object
      description: Settlement of the securities in a securities transaction, that is, the instruction to deliver or receive securities, involving the payment of an amount of money or not.
      additionalProperties: false
      properties:
        # instruction_identification:
        #   description:  |
        #     An unique identification of the securities settlement instruction. This reference will be used throughout the instruction life cycle to access/update the instruction details.  
            
        #     Usage - The value must be constant throughout the lifecycle of the application. The type is BIC + Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
        #   type: string
        #   minLength: 1
        #   maxLength: 52
        #   readOnly: true
        securities_movement_type:
          x-MXComponent: SettlementTypeAndAdditionalParameters21
          #  Specifies if the movement on a securities account results from a deliver or a receive instruction.
          $ref: '#/components/schemas/SecuritiesMovementType'
        payment:
          x-MXComponent: SettlementTypeAndAdditionalParameters21
          #  Specifies how the transaction is to be settled.
          $ref: '#/components/schemas/SecuritiesSettlementMethod'
        trade_detail:
          x-MXComponent: SecuritiesTradeDetails119
          #  Details of the trade. The information is sourced from the most recent instruction. When instructions are not available it is sourced from the status message, if the status message is not available, it is sourced form confirmation message.
          $ref: '#/components/schemas/Trade'
        financial_instrument:
          x-MXComponent: SecurityIdentification19
          #  'Financial instrument representing a sum of rights of the investor vis-a-vis the issuer.  corresponds to sequence B TRADDET :35B::'
          $ref: '#/components/schemas/Security'
        settlement_quantity:
          x-MXComponent: Quantity51Choice
          #  Total quantity of securities to be settled.  Corresponds to sequence C FIAC :36a::SETT
          $ref: '#/components/schemas/QuantityChoice'
        settled_quantity:
          x-MXComponent: Quantity51Choice
          #  Quantity of financial instrument effectively settled.  Corresponds to sequence C FIAC  :36a::ESTT in the confirmation message
          readOnly: true
          $ref: '#/components/schemas/QuantityChoice'
        previously_settled_quantity:
          x-MXComponent: FinancialInstrumentQuantity33Choice
          #  Quantity of financial instrument previously settled.  Corresponds to sequence C FIAC  :36a::PSTT in the confirmation message
          readOnly: true
          $ref: '#/components/schemas/FinancialInstrumentQuantityChoice'
        remaining_to_be_settled_quantity:
          x-MXComponent: FinancialInstrumentQuantity33Choice
          #  Quantity of financial instrument remaining to be settled.  Corresponds to sequence C FIAC  :36a::RSTT in the confirmation message
          readOnly: true
          $ref: '#/components/schemas/FinancialInstrumentQuantityChoice'
        safekeeping_account:
          x-MXComponent: SecuritiesAccount19
          #  Account to or from which a securities entry is made.  Corresponds to sequence C FIAC :97a::SAFE
          $ref: '#/components/schemas/SecuritiesAccount'
        safekeeping_place:
          x-MXComponent: SafeKeepingPlace3
          #  Place where the securities are safe-kept, physically or notionally. This place can be, for example, a local custodian, a Central Securities Depository (CSD) or an International Central Securities Depository (ICSD).  Corresponds to sequence C FIAC :94a::SAFE
          $ref: '#/components/schemas/SafeKeepingPlace'
        delivering_settlement_party:
          x-MXComponent: SettlementParties100
          #  'Identifies the chain of delivering settlement parties.  Usage: name settlement parties for what they effectively are: levels in a settlement chain, allowing for easy inclusion of additional levels. “Place of settlement” is a party in the chain.  Example of Delivering Settlement Parties, assuming all delivering parties are provided:  ISO 20022 - ISO 15022 terminology Depository - PSET Party 1 - DEAG (interacts with depository) Party 2 - DEI2 (interacts with party 1) Party 3 - DEI1 (interacts with party 2) Party 4 - DECU (interacts with party 3) Party 5 - SELL (interacts with party 4)  Example for less parties involved: Depository - PSET Party 1 - DEAG (interacts with depository) Party 2 - DECU (interacts with party 1) Party 3 - SELL (interacts with party 2) '
          $ref: '#/components/schemas/SettlementParty'
        receiving_settlement_party:
          x-MXComponent: SettlementParties100
          #  'Identifies the chain of receiving settlement parties.  Usage: name settlement parties for what they effectively are: levels in a settlement chain, allowing for easy inclusion of additional levels. “Place of settlement” is a party in the chain.  Example of Receiving Settlement Parties, assuming all receiving parties are provided:  ISO 20022 - ISO 15022 terminology Depository - PSET Party 1 - REAG (interacts with depository) Party 2 - REI2 (interacts with party 1) Party 3 - REI1 (interacts with party 2) Party 4 - RECU (interacts with party 3) Party 5 - BUYR (interacts with party 4)  Example for less parties involved: Depository - PSET Party 1 - REAG (interacts with depository) Party 2 - RECU (interacts with party 1) Party 3 - BUYR (interacts with party 2) '
          $ref: '#/components/schemas/SettlementParty'
        settlement_amount:
          x-MXComponent:  AmountAndDirection94
          #  Total amount of money to be paid or received in exchange for the securities.  Corresponds to sequence E3 AMT :19a::SETT
          $ref: '#/components/schemas/AmountAndDirectionSummary'
        settled_amount:
          x-MXComponent:  AmountAndDirection94
          #  Posting of an item to a cash account, in the context of a cash transaction, that results in an increase or decrease to the balance of the account.  Corresponds to sequence E3 AMT  :19a::ESTT in the confirmation message
          $ref: '#/components/schemas/AmountAndDirectionSummary'
        previously_settled_amount:
          x-MXComponent: AmountAndDirection52
          #  Amount of money previously settled.  Corresponds to sequence C FIAC  :19a::PSTT in the confirmation message
          $ref: '#/components/schemas/AmountAndDirectionSummary'
        remaining_to_be_settled_amount:
          x-MXComponent: AmountAndDirection52
          #  Amount of money remaining to be settled.  Corresponds to sequence C FIAC  :36a::RSTT in the confirmation message
          $ref: '#/components/schemas/AmountAndDirectionSummary'
        settlement_tracker_status:
          #  Specifies the status of the securities tracker.
          $ref: '#/components/schemas/SecuritiesTrackerStatus'
        instruction_status:
          type: array
          description:  Specifies the state of a Securities Settlement Instruction in its processing cycle.
          items:
            $ref: '#/components/schemas/SecuritiesSettlementInstructionStatusDetail'
        instruction_exchange_party:
          type: array
          description:  Chain of parties involved in the sending and receiving instruction.
          items:
            $ref: '#/components/schemas/InstructionParty'
      required:
        - securities_movement_type
        - payment
        - trade_detail
        - financial_instrument
        - settlement_tracker_status
    SecuritiesSettlementInstructionDetail:
      type: object
      description: Settlement of the securities in a securities transaction, that is, the instruction to deliver or receive securities, involving the payment of an amount of money or not.
      additionalProperties: false
      properties:
        # instruction_identification:
        #   x-MXComponent: Max52Text
        #   description:  |
        #     An unique identification of the securities settlement instruction. This reference will be used throughout the instruction life cycle to access/update the instruction details.  
            
        #     Usage - The value must be constant throughout the lifecycle of the application. The type is BIC + Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
        #   type: string
        #   minLength: 1
        #   maxLength: 52
        #   readOnly: true
        transaction_identification:
          x-MXComponent: Max35Text
          description: |
            Unambiguous identification of the message as known by the instructing party.  Corresponds to :20C:SEME
          type: string
          minLength: 1
          maxLength: 35
        securities_movement_type:
          x-MXComponent: SettlementTypeAndAdditionalParameters21
          #  Specifies if the movement on a securities account results from a deliver or a receive instruction.
          $ref: '#/components/schemas/SecuritiesMovementType'
        payment:
          x-MXComponent: SettlementTypeAndAdditionalParameters21
          #  Specifies how the transaction is to be settled.
          $ref: '#/components/schemas/SecuritiesSettlementMethod'
        # linkage:
        #   x-MXComponent: Linkages64
        #   type: array
        #   description: 'Link to another transaction that must be processed after, before or at the same time.'
        #   items:
        #     $ref: '#/components/schemas/SecuritiesSettlementReferences1'
        linkage:
          x-MXComponent: Linkages64
          description: Link to another transaction that must be processed after, before or at the same time.
          type: array
          items:
            $ref: '#/components/schemas/SecuritiesTradeIdentification'
        trade_detail:
          x-MXComponent: SecuritiesTradeDetails119
          #  Details of the trade.
          $ref: '#/components/schemas/TradeSummary'
        financial_instrument:
          x-MXComponent: SecurityIdentification19
          #  'Financial instrument representing a sum of rights of the investor vis-a-vis the issuer.  Corresponds to sequence B TRADDET :35B::'
          $ref: '#/components/schemas/Security'
        settlement_quantity:
          x-MXComponent: Quantity51Choice
          #  'Total quantity of securities to be settled.  Corresponds to sequence C FIAC :36a::SETT'
          $ref: '#/components/schemas/QuantityChoice'
        settled_quantity:
          x-MXComponent: Quantity51Choice
          #  'Quantity of financial instrument effectively settled.  Corresponds to sequence C FIAC  :36a::ESTT in the confirmation message'
          readOnly: true
          $ref: '#/components/schemas/QuantityChoice'
        previously_settled_quantity:
          x-MXComponent: FinancialInstrumentQuantity33Choice
          #  'Quantity of financial instrument previously settled.  Corresponds to sequence C FIAC  :36a::PSTT in the confirmation message'
          readOnly: true
          $ref: '#/components/schemas/FinancialInstrumentQuantityChoice'
        remaining_to_be_settled_quantity:
          x-MXComponent: FinancialInstrumentQuantity33Choice
          #  'Quantity of financial instrument remaining to be settled.  Corresponds to sequence C FIAC  :36a::RSTT in the confirmation message'
          readOnly: true
          $ref: '#/components/schemas/FinancialInstrumentQuantityChoice'
        safekeeping_account:
          x-MXComponent: SecuritiesAccount19
          #  Account to or from which a securities entry is made.  Corresponds to sequence C FIAC :97a::SAFE
          $ref: '#/components/schemas/SecuritiesAccount'
        safekeeping_place:
          x-MXComponent: SafeKeepingPlace3
          #  Place where the securities are safe-kept, physically or notionally. This place can be, for example, a local custodian, a Central Securities Depository (CSD) or an International Central Securities Depository (ICSD).  Corresponds to sequence C FIAC :94a::SAFE
          $ref: '#/components/schemas/SafeKeepingPlace'
        delivering_settlement_party:
          x-MXComponent: SettlementParties100
          #  'Identifies the chain of delivering settlement parties.  Usage: name settlement parties for what they effectively are: levels in a settlement chain, allowing for easy inclusion of additional levels. “Place of settlement” is a party in the chain.  Example of Delivering Settlement Parties, assuming all delivering parties are provided:  ISO 20022 - ISO 15022 terminology Depository - PSET Party 1 - DEAG (interacts with depository) Party 2 - DEI2 (interacts with party 1) Party 3 - DEI1 (interacts with party 2) Party 4 - DECU (interacts with party 3) Party 5 - SELL (interacts with party 4)  Example for less parties involved: Depository - PSET Party 1 - DEAG (interacts with depository) Party 2 - DECU (interacts with party 1) Party 3 - SELL (interacts with party 2) '
          $ref: '#/components/schemas/SettlementParty'
        receiving_settlement_party:
          x-MXComponent: SettlementParties100
          #  'Identifies the chain of receiving settlement parties.  Usage: name settlement parties for what they effectively are: levels in a settlement chain, allowing for easy inclusion of additional levels. “Place of settlement” is a party in the chain.  Example of Receiving Settlement Parties, assuming all receiving parties are provided:  ISO 20022 - ISO 15022 terminology Depository - PSET Party 1 - REAG (interacts with depository) Party 2 - REI2 (interacts with party 1) Party 3 - REI1 (interacts with party 2) Party 4 - RECU (interacts with party 3) Party 5 - BUYR (interacts with party 4)  Example for less parties involved: Depository - PSET Party 1 - REAG (interacts with depository) Party 2 - RECU (interacts with party 1) Party 3 - BUYR (interacts with party 2) '
          $ref: '#/components/schemas/SettlementParty'
        settlement_amount:
          x-MXComponent:  AmountAndDirection94
          #  'Total amount of money to be paid or received in exchange for the securities.  Corresponds to sequence E3 AMT :19a::SETT'
          $ref: '#/components/schemas/AmountAndDirectionSummary'
        settled_amount:
          x-MXComponent:  AmountAndDirection94
          #  'Posting of an item to a cash account, in the context of a cash transaction, that results in an increase or decrease to the balance of the account.  Corresponds to sequence E3 AMT  :19a::ESTT in the confirmation message'
          readOnly: true
          $ref: '#/components/schemas/AmountAndDirectionSummary'
        previously_settled_amount:
          #  'x-MXComponent: AmountAndDirection52  Amount of money previously settled.  Corresponds to sequence C FIAC  :19a::PSTT in the confirmation message'
          $ref: '#/components/schemas/AmountAndDirectionSummary'
        remaining_to_be_settled_amount:
          x-MXComponent:  AmountAndDirection52
          #  'Amount of money remaining to be settled.  Corresponds to sequence C FIAC  :36a::RSTT in the confirmation message'
          readOnly: true
          $ref: '#/components/schemas/AmountAndDirectionSummary'
        settlement_tracker_status:
          #  Specifies the status of the securities tracker.
          $ref: '#/components/schemas/SecuritiesTrackerStatus'
        instruction_status:
          type: array
          description: Specifies the state of a Securities Settlement Instruction in its processing cycle.
          items:
            $ref: '#/components/schemas/SecuritiesSettlementInstructionStatusDetail'
        instruction_exchange_party:
          #  Chain of parties involved in the sending and receiving instruction.
          $ref: '#/components/schemas/InstructionParty'
        originating_channel:
          description: Specify the originiting channel of the event.
          type: string
          minLength: 1
          maxLength: 35
      required:
        # - instruction_identification
        - transaction_identification
        - securities_movement_type
        - payment
        - trade_detail
        - financial_instrument
    SecuritiesSettlementInstructionLifecycleStatusTypeCode:
      type: string
      description: |
        Provides the lifecycle status of a settlement instruction.
        
        * CAND - Instruction has been cancelled.
        * CANP - Pending Cancellation
        * CACK - Repo call request is acknowledged/accepted.
        * CGEN - Generated
        * CPRC - Provides the status of a cancellation request.
        * DEND - Denied
        * MACH - Instruction has been matched.
        * MPRC - Modification request from the counterparty is awaiting for your modification request or your consent.
        * MODC - Modification has been completed.
        * MOPN - Modification is pending. It is unknown at this time whether the modification can be affected.
        * NMAT - Instruction has not been matched.
        * PACK - Cancellation request has been acknowledged for further processing by the account servicer.
        * PEND - Instruction is pending. Settlement at the instructed settlement date is still possible.
        * PENF - Instruction is failing. Settlement at the instructed settlement date is no longer possible.
        * PPRC - Processing of the instruction is pending.
        * REJT - Instruction has been rejected for further processing.
        * REPR - Instruction is accepted but in repair.
      enum:
      - CAND
      - CANP
      - CACK
      - CGEN
      - CPRC
      - DEND
      - MACH
      - MPRC
      - MODC
      - MOPN
      - NMAT
      - PACK
      - PEND
      - PENF
      - PPRC
      - REJT
      - REPR
    SecuritiesSettlementInstructionStatusDetail:
      type: object
      description: Specifies the status of the security within its lifecycle.
      additionalProperties: false
      properties:
        status_type:
          #  'Specifies the state of a Securities Settlement Instruction in its processing cycle.  Corresponds to the Qualifiers in sequence A2 STAT :25D: of the confirmation message.  CPRC - Cancellation Processing Status IPRC - Instruction Processing Status MTCH - Matching Status SETT - Settlement Status SPRC - Request for Statement/Status Advice Status CALL - Repo Call Request Status INMH - Inferred Matching Status [INMH]  TPRC - Processing Change Command Status'
          $ref: '#/components/schemas/SecuritiesSettlementInstructionStatusTypeCode'
        status_code:
          #  'Specifies the state of a Securities Settlement Instruction in its processing cycle.  Corresponds to the Codes in sequence A2 STAT :25D: of the confirmation message. '
          $ref: '#/components/schemas/InstructionLifecycleStatusChoice'
        reason:
          type: array
          #  Reason related to a status.  Corresponds to the sequence A2a REAS
          items:
            $ref: '#/components/schemas/StatusReason'
        status_issuer:
          x-MXComponent: BICFIDec2014Identifier
          description:  Specifies the assignor identification (BIC) of the status of the security settlement instruction within its lifecycle.
          type: string
          pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
          readOnly: true
        status_update_timestamp:
          description:  Date and time when this instruction was last updated.
          type: string
          format: date-time
          readOnly: true
      required:
        - status_type
        - status_code
        # - reason
        - status_issuer
        - status_update_timestamp
    SecuritiesSettlementInstructionStatusTypeCode:
      type: string
      description: |
        Specifies the status type of the security within its lifecycle.
        
        * CPRC - Cancellation Processing Status
        * INMH - Inferred Matching Status
        * IPRC - Instruction Processing Status
        * TPRC - Processing Change Command Status
        * MTCH - Matching Status
        * CALL - Repo Call Request Status
        * SPRC - Request for Statement/Status Advice Status
        * SETT - Settlement Status
      enum:
      - CPRC
      - INMH
      - IPRC
      - TPRC
      - MTCH
      - CALL
      - SPRC
      - SETT
    SecuritiesSettlementInstructionSummary:
      type: object
      description: Settlement of the securities in a securities transaction, that is, the instruction to deliver or receive securities, involving the payment of an amount of money or not. Settlement Instruction for which a status is provided.
      additionalProperties: false
      properties:
        # trade_identification:
        #   type: array
        #   description:  Reference assigned to the trade by the investor or the trading party. This reference will be used throughout the trade life cycle to access/update the trade details.  Corresponds to sequence A1 LINK -> :20a:::TRRF Option C.
        #   items:
        #     type: string
        #     minLength: 1
        #     maxLength: 52
        securities_movement_type:
          x-MXComponent: SettlementTypeAndAdditionalParameters21
          #  Specifies if the movement on a securities account results from a deliver or a receive instruction.
          $ref: '#/components/schemas/SecuritiesMovementType'
        payment:
          x-MXComponent: SettlementTypeAndAdditionalParameters21
          #  Specifies how the transaction is to be settled.
          $ref: '#/components/schemas/SecuritiesSettlementMethod'
        financial_instrument:
          x-MXComponent: SecurityIdentification19
          #  'Financial instrument representing a sum of rights of the investor vis-a-vis the issuer.  corresponds to sequence B TRADDET :35B::'
          $ref: '#/components/schemas/Security'
        settlement_tracker_status:
          #  Specifies the status of the securities tracker.
          $ref: '#/components/schemas/SecuritiesTrackerStatus'
        instruction_status:
          type: array
          description: Specifies the state of a Securities Settlement Instruction in its processing cycle.
          items:
            $ref: '#/components/schemas/SecuritiesSettlementInstructionStatusDetail'
      required:
        - securities_movement_type
        - payment
        - settlement_tracker_status
    SecuritiesSettlementMethod:
      type: string
      description: |
        Specifies how the transaction is to be settled.
        
        * FREE - Settlement of the financial instrument and cash is separate.
        * APMT - Settlement of the financial instrument and cash takes place in a delivery versus payment (DVP) environment, that is, through an International Central Securities Depository (ICSD) or Central Securities Depository (CSD).
      enum:
      - FREE
      - APMT
    SecuritiesSettlementStatusReport:
      type: object
      description: Provides the status of the securities settlement within its lifecycle.
      additionalProperties: false
      properties:
        settlement_status_report:
          type: array
          description: Provides a summary of the status of the securities settlement within its lifecycle.
          items:
            $ref: '#/components/schemas/SecuritiesSettlementStatusSummaryReport'
        meta:
          $ref: '#/components/schemas/Meta'
        links:
          # $ref: '#/components/schemas/Links'
          $ref: '#/components/schemas/Link'
    SecuritiesSettlementStatusSummaryReport:
      type: object
      description: Provides the summary status report of the securities settlement within its lifecycle.
      additionalProperties: false
      properties:
        transaction_reference:
          #  Provides list of identification assigned to a trade or securities settlement within its lifecycle.
          $ref: '#/components/schemas/Reference'
        settlement_instruction:
          type: array
          minItems: 1
          maxItems: 2
          description:  Represent the buy/sell side of the transactions
          items:
            $ref: '#/components/schemas/SecuritiesSettlementInstructionSummary'
        tracker_update_timestamp:
          description:  Date and time when the securities tracker was last updated.
          type: string
          format: date-time
      required:
        - settlement_instruction
        - tracker_update_timestamp
    SecuritiesSettlementView:
      type: object
      description: Consolidated view of settlement instructions.
      additionalProperties: false
      properties:
        ##  1.0.6 change  ##
        # securities_settlement_unique_transaction_identifier:
        #   description:  An unique identification of the securities trade.  Usage - Contains UTI if present, otherwise system generated unique identifier.
        #   type: string
        #   minLength: 1
        #   maxLength: 52
        #   # pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,52}$
        #   readOnly: true
        transaction_reference:
          #  Provides list of identification assigned to a trade or securities settlement within its lifecycle.
          $ref: '#/components/schemas/Reference'
        settlement_instruction:
          description:  List a latest view of each side of the post trade settlement instructions.
          type: array
          items:
            $ref: '#/components/schemas/SecuritiesSettlementInstruction'
      # required:
      #   - uti
      #   - securities_settlement_unique_transaction_identifier
      #   - instruction_identifier
    SecuritiesTrackerStatus:
      type: object
      description: Specifies the status of the security within its lifecycle.
      additionalProperties: false
      properties:
        settlement_tracker_status:
          #  Specifies the status of the settlement instruction in monitoring view.
          readOnly: true
          $ref: '#/components/schemas/SecuritiesTrackerStatusType'
        status_issuer:
          description: Specifies the assignor identification (BIC) of the status of the security settlement instruction within its lifecycle.
          type: string
          pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
          readOnly: true
        status_update_timestamp:
          description: Date and time at which the instruction was created.
          type: string
          format: date-time
          readOnly: true
      required:
        - status_issuer
        - status_update_timestamp
    SecuritiesTrackerStatusType:
      type: string
      description: |
        Specifies the status of the security within its lifecycle.
        
        * CANCELLED - Instruction/request has been cancelled.
        * CANCEL_REQUESTED - Instruction cancel initiated.
        * CONFIRMATION_CANCELLED - Transaction is cancelled.
        * FAILED - Instruction is failing.
        * INITIATED - Settlement instruction initiated.
        * MATCHED - Instruction is matched.
        * PARTIALLY_SETTLED - Part, but not all, of a Trade's value has settled, and no further elements of the Trade's value are expected to be settled.
        * PENDING - Instruction is pending. Settlement at the instructed settlement date is still possible.
        * REJECTED - Settlement is rejected.
        * REPLACED - Original instruction has been cancelled and replaced.
        * REVERSED - Original instruction has been reversed.
        * SETTLED - Settlement is complete.
        * UN_MATCHED - Instruction is unmatched.
      enum:
      - CANCELLED
      - CANCEL_REQUESTED
      - CONFIRMATION_CANCELLED
      - FAILED
      - INITIATED
      - MATCHED
      - PARTIALLY_SETTLED
      - PENDING
      - REJECTED
      - REPLACED
      - REVERSED
      - SETTLED
      - UN_MATCHED
    SecuritiesTradeIdentification:
      type: object
      description: Specifies the different identifications associated with a securities transaction.
      additionalProperties: false
      properties:
        reference:
          #  Reference to the linked transaction.
          $ref: '#/components/schemas/ReferencesChoice'
      required:
      - reference
    Security:
      type: object
      description: Investment product offered by a financial institution to its customers. Financial instruments representing a sum of rights of the investor vis-a-vis the issuer.
      additionalProperties: false
      properties:
        financial_instrument_identification:
          x-MXComponent: SecurityIdentification19
          #  'Financial instrument representing a sum of rights of the investor vis-a-vis the issuer.  Corresponds to sequence B TRADDET :35B::'
          $ref: '#/components/schemas/SecuritiesIdentification'
      required:
        - financial_instrument_identification
    SettlementDateChoice:
      type: object
      description: Choice of format for the settlement date.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            date:
              #  Date in ISO format.
              $ref: '#/components/schemas/DateAndDateTimeChoice'
          required:
            - date
        - type: object
          additionalProperties: false
          properties:
            date_code:
              x-MXComponent: SettlementDateCode9Choice
              #  'Date and time at which the securities are to be delivered or received.'
              $ref: '#/components/schemas/SettlementDateCodeChoice'
          required:
            - date_code
    SettlementDateCode:
      type: string
      description: |
        Specifies the date of settlement, in coded form.
        
        * WISS - Settlement is to be done when the security is issued.
      enum:
        - WISS
    SettlementDateCodeChoice:
      type: object
      description: Choice of format for the settlement date code.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            code:
              #  Settlement date expressed as an ISO 20022 code.
              $ref: '#/components/schemas/SettlementDateCode'
          required:
            - code
        - type: object
          additionalProperties: false
          properties:
            proprietary:
              x-MXComponent: GenericIdentification47
              #  'Settlement date expressed as a proprietary code.'
              $ref: '#/components/schemas/GenericIdentification444'
          required:
            - proprietary
    SettlementParty:
      type: object
      description: Chain of parties involved in the settlement of a transaction, including receipts and deliveries, book transfers, treasury deals, or other activities, resulting in the movement of a security or amount of money from one account to another.
      additionalProperties: false
      properties:
        depository:
          #  First party in the settlement chain. In a plain vanilla settlement, it is the Central Securities Depository where the counterparty requests to receive the financial instrument or from where the counterparty delivers the financial instruments.
          $ref: '#/components/schemas/PartyIdentification'
        party1:
          #  Party that, in a settlement chain interacts with the depository.
          $ref: '#/components/schemas/PartyIdentificationAndAccount'
        party2:
          #  Party that, in a settlement chain interacts with the party 1.
          $ref: '#/components/schemas/PartyIdentificationAndAccount'
        party3:
          #  Party that, in a settlement chain interacts with the party 2.
          $ref: '#/components/schemas/PartyIdentificationAndAccount'
        party4:
          #  Party that, in a settlement chain interacts with the party 3.
          $ref: '#/components/schemas/PartyIdentificationAndAccount'
        party5:
          #  Party that, in a settlement chain interacts with the party 4.
          $ref: '#/components/schemas/PartyIdentificationAndAccount'
    StatusReason:
      type: object
      description: Reason provided for the status.
      additionalProperties: false
      properties:
        reason_type:
          #  'Type of the status reason.  Corresponds to the Qualifiers in sequence A2a REAS :24B: of the confirmation message.'
          $ref: '#/components/schemas/StatusReasonTypeCode'
        reason_code:
          #  'Proprietary identification of the reason related to a status.  Corresponds to the Codes in sequence A2a REAS :24B: of the confirmation message.'
          $ref: '#/components/schemas/InstructionLifecycleStatusReasonChoice'
        additional_reason_information:
          x-MXComponent: Max210Text
          description:  Provides additional information about the processed instruction.  Corresponds to sequence A2a REAS ::70D:REAS of the confirmation message.
          type: string
          minLength: 1
          maxLength: 210
      required:
      - reason_type
    StatusReasonTypeCode:
      type: string
      description: |
        Type of the status reason
        
        * PACK - Acknowledged/Accepted Reason
        * CAND - Cancellation Reason
        * DEND - Denied Reason
        * CGEN - Generated Reason
        * PEND - PendingReason
        * CANP - Pending Cancellation Reason
        * PENF - Pending/Failing Reason
        * MOPN - Pending Modification Reason
        * PPRC - Pending Processing Reason
        * REJT - Rejection Reason
        * REPR - Repair Reason
        * CACK - Repo Call Acknowledgement Reason
        * NMAT - Unmatched Reason
      enum:
      - PACK
      - CAND
      - DEND
      - CGEN
      - PEND
      - CANP
      - PENF
      - MOPN
      - PPRC
      - REJT
      - REPR
      - CACK
      - NMAT
    Trade:
      type: object
      description: Trade for which settlement information is provided.
      additionalProperties: false
      properties:
        uti:
          description:  |
            Reference assigned to the trade by the investor or the trading party. This reference will be used throughout the trade life cycle to access/update the trade details. Corresponds to sequence A1 LINK -> :20a:::TRRF Option U.
          type: string
          minLength: 1
          maxLength: 52
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,52}$
        # trade_identification:
        #   description: |
        #     Reference assigned to the trade by the investor or the trading party. Corresponds to sequence A1 LINK -> :20a:::TRRF Option C.
        #   type: array
        #   items:
        #     type: string
        #     minLength: 1
        #     maxLength: 52
        trade_date:
          x-MXComponent: TradeDate8Choice
          #  Specifies the date/time on which the trade was executed.  corresponds to sequence B TRADDET :98a::TRAD
          $ref: '#/components/schemas/TradeDateChoice'
        settlement_date:
          x-MXComponent: SettlementDate17Choice
          #  'Date and time at which the securities are to be delivered or received.  corresponds to sequence B TRADDET :94a::SETT'
          $ref: '#/components/schemas/SettlementDateChoice'
        effective_settlement_date:
          x-MXComponent: SettlementDate18Choice
          #  Date and time at which a transaction is completed and cleared.   corresponds to sequence B TRADDET :98a::ESETT in the confirmation message
          ##  v1.0.6  change  ##
          # $ref: '#/components/schemas/DateAndDateTimeChoice'
          $ref: '#/components/schemas/EffectiveSettlementDateChoice'
        ## v1.0.6 changes ##
        # deal_price:
        #   x-MXComponent: Price10
        #   #  Specifies the price of the traded financial instrument. This is the deal price of the individual trade transaction.  If there is only one trade transaction for the execution of the trade, then the deal price could equal the executed trade price (unless, for example, the price includes commissions or rounding, or some other factor has been applied to the deal price or the executed trade price, or both).  corresponds to sequence B TRADDET :90a::DEAL
        #   $ref: '#/components/schemas/Price'
        # number_of_days:
        #   x-MXComponent: Max3Number
        #   description: |
        #     Period specified as a number of days. Number of days on which the interest rate accrues. Number (max 999) of objects represented as an integer.  corresponds to sequence B TRADDET :99A::DAAC
        #   type: string
        #   minLength: 1
        #   maxLength: 3
        # trade_transaction_condition:
        #   description: |
        #     Indicates the conditions under which the order/trade is to be/was executed.  corresponds to sequence B TRADDET :22F::TTCO
        #   type: array
        #   items:
        #     $ref: '#/components/schemas/TradeTransactionConditionChoice'
        # collateral_transaction_identification:
        #   x-MXComponent: Max35Text
        #   description: Unambiguous identification of a collateral transaction as assigned by the instructing party.
        #   type: string
        #   minLength: 1
        #   maxLength: 35
        # settlement_instruction_processing_additional_details:
        #   x-MXComponent: Max350Text
        #   description:  Provides additional settlement processing information which cannot be included within the structured fields of the message.
        #   type: string
        #   minLength: 1
        #   maxLength: 350
      required:
        # - uti
        - settlement_date
    TradeDateChoice:
      type: object
      description: Choice of format for the trade date.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            date:
              #  Date expressed as an ISO date.
              $ref: '#/components/schemas/DateAndDateTimeChoice'
          required:
            - date
        - type: object
          additionalProperties: false
          properties:
            date_code:
              #  Date expressed as a code.
              $ref: '#/components/schemas/TradeDateCodeChoice'
          required:
            - date_code
    TradeDateCodeChoice:
      type: object
      description: Choice of format for the trade date code.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            code:
              #  Trade date expressed as an ISO 20022 code.
              $ref: '#/components/schemas/DateTypeCode'
          required:
            - code
        - type: object
          additionalProperties: false
          properties:
            proprietary:
              x-MXComponent: GenericIdentification47
              #  'Trade date expressed as a proprietary code.'
              $ref: '#/components/schemas/GenericIdentification444'
          required:
            - proprietary
    TradeSummary:
      type: object
      description: Trade for which settlement information is provided.
      additionalProperties: false
      properties:
        uti:
          description: |
            Reference assigned to the trade by the investor or the trading party. This reference will be used throughout the trade life cycle to access/update the trade details.
            
            Corresponds to sequence A1 LINK -> :20a:::TRRF Option U.
          type: string
          minLength: 1
          maxLength: 52
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,52}$
        # trade_identification:
        #   description: |
        #     Reference assigned to the trade by the investor or the trading party. Corresponds to sequence A1 LINK -> :20a:::TRRF Option C.
        #   type: array
        #   items:
        #     type: string
        #     minLength: 1
        #     maxLength: 52
        trade_date:
          x-MXComponent: TradeDate8Choice
          #  Specifies the date/time on which the trade was executed.  Corresponds to sequence B TRADDET :98a::TRAD
          $ref: '#/components/schemas/TradeDateChoice'
        settlement_date:
          x-MXComponent: SettlementDate17Choice
          # Date and time at which the securities are to be delivered or received.  Corresponds to sequence B TRADDET :94a::SETT
          $ref: '#/components/schemas/SettlementDateChoice'
        effective_settlement_date:
          x-MXComponent: SettlementDate18Choice
          #  Date and time at which a transaction is completed and cleared.   Corresponds to sequence B TRADDET :98a::ESETT in the confirmation message
          ##  v1.0.6  change  ##
          # $ref: '#/components/schemas/DateAndDateTimeChoice'
          $ref: '#/components/schemas/EffectiveSettlementDateChoice'
      # required:
      #   - settlement_date
    TradeTransactionConditionChoice:
      type: object
      description: Choice of format for the trade transaction condition.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            code:
              #  Trade conditions expressed as an ISO 20022 code.
              $ref: '#/components/schemas/TradeTransactionConditionCode'
          required:
            - code
        - type: object
          additionalProperties: false
          properties:
            proprietary:
              #  Trade conditions expressed as a proprietary code.
              $ref: '#/components/schemas/GenericIdentification444'
          required:
            - proprietary
    TradeTransactionConditionCode:
      type: string
      description: |
        Indicates the conditions under which the order/trade is to be/was executed.
        
        * BCBN - Bad names, not set for good names (UK specific).
        * BCBL - Board lots, not set for odd lots (UK specific).
        * CBNS - Indicates whether the trade is executed cum bonus.
        * CCPN - Indicates whether the trade is executed cum coupon.
        * CDIV - Indicates whether the trade is executed cum dividend.
        * CRTS - Indicates whether the trade is executed cum rights.
        * CWAR - Indicates whether the trade is executed cum warrant.
        * BCPD - Place of delivery, in country of incorporation when unset (UK specific).
        * BCFD - Form of delivery, not for foreign registration when unset (UK specific).
        * XBNS - Indicates whether the trade is executed ex bonus.
        * XCPN - Indicates whether the trade is executed ex coupon.
        * XDIV - Indicates whether the trade is executed ex dividend.
        * XRTS - Indicates whether the trade is executed ex rights.
        * XWAR - Indicates whether the trade is executed ex warrant.
        * GTDL - Indicates whether the delivery of the financial instrument on settlement date is guaranteed.
        * MAPR - Trade was executed at market price.
        * NEGO - Trade for which the price is not the one quoted but an improved one, that is, the negotiated price.
        * NMPR - Trade was executed outside of normal market conditions, for example, in the case of an iceberg order.
        * BCRO - Result of option when set. (UK specific).
        * BCRP - Result of repo when set (UK specific).
        * SPCU - Indicates whether the trade is executed with a special cum dividend, that is, buying after the ex date and getting the dividend.
        * SPEX - Indicates whether the trade is executed with a special ex ndividend, that is, selling before the ex date without the coupon.
      enum:
        - BCBN
        - BCBL
        - CBNS
        - CCPN
        - CDIV
        - CRTS
        - CWAR
        - BCPD
        - BCFD
        - XBNS
        - XCPN
        - XDIV
        - XRTS
        - XWAR
        - GTDL
        - MAPR
        - NEGO
        - NMPR
        - BCRO
        - BCRP
        - SPCU
        - SPEX
    TypeOfIdentificationCode:
      type: string
      description: |
        Specifies the type of alternate identification which can be used to give an alternate identification of the party identified.
        
        * ARNU - Number assigned by a government agency to identify foreign nationals.
        * CCPT - Number assigned by a passport authority.
        * CHTY - Number assigned to a tax exempt entity.
        * CORP - Number assigned to a corporate entity.
        * DRLC - Number assigned to a driver's license.
        * FIIN - Number assigned to a foreign investor (other than the alien number).
        * TXID - Number assigned by a tax authority to an entity.
        * SOCS - Number assigned by a social security agency.
        * IDCD - Number assigned by a national authority to an identity card.
        * CUST - Number assigned by an issuer to identify a customer via the concatenation of the birthdate and characters of the first name and surname.
        * NRIN - National registration identification number. In Singapore this is known as the NRIC.
      enum:
        - ARNU
        - CCPT
        - CHTY
        - CORP
        - DRLC
        - FIIN
        - TXID
        - SOCS
        - IDCD
        - CUST
        - NRIN
    YieldedOrValueTypeChoice:
      type: object
      description: Choice of value type.
      additionalProperties: true
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            yielded:
              description:  Indicates whether the price is expressed as a yield.
              type: boolean
              # $ref: '#/components/schemas/YesNoIndicator'
          required:
            - yielded
        - type: object
          additionalProperties: false
          properties:
            value_type:
              #  Type of value in which the price is expressed.
              $ref: '#/components/schemas/PriceValueTypeCode'
          required:
            - value_type
    Links:
      type: array
      readOnly: true
      items:
        $ref: '#/components/schemas/Link'
    Link:
      type: object
      readOnly: true
      description: "Contains a generic structure to support hyperlinking (REST level 3)."
      additionalProperties: false
      required:
      - href
      properties:
        href:
          description:  "Specifies the link as a url. The href member identifies the target IRI location of the resource."
          type: string
          # maxLength: 256
        rel:
          description: "Specifies the operation. The value of this property MUST be a string. This property is required except self. The self reference contains the URI of the same resource"
          type: string
          maxLength: 35
        type:
          description: "The value containing the HTTP verb used for the URL. If the type element is not included then the link MUST be available using GET."
          type: string
          maxLength: 35
    Meta:
      type: object
      readOnly: true
      description: Contains a generic structure as a place to put any information that does not fit into the business objects to support additional information.
      additionalProperties: false
      # required:
      # - href
      properties:
        transaction_count:
          description: The total number of transaction returned in this response.
          type: integer
          format: int32
          minLength: 1
          maxLength: 4
        # created_at:
        #   description: The date and timestamp when the response was created.
        #   type: string
        #   format: date-time
        # updated_at:
        #   description: Date and time when the status was last updated.
        #   type: string
        #   format: date-time
    Errors:
      readOnly: true
      description: "Container to return multiple ErrorMessage object. Collection of error can be useful when API needs to return multiple errors, for example validation errors. When the response code conveys application-specific functional semantics and consumer can parse machine-readable error code, this block can be useful. The error response must contain at least one error object."
      type: array
      items:
        $ref: "#/components/schemas/ErrorMessage"
    ErrorMessage:
      description: "Custom error schema to support detailed error message."
      type: object
      readOnly: true
      additionalProperties: true
      properties:
        severity:
          description: "Specifies the severity of the error."
          type: string
          enum:
          - Fatal
          - Transient
          - Logic
        code:
          description: "Specifies the custom error code as defined by the service provider. This is a constant value that identifies the error for machine processing. Error code is unique within a particular domain of errors."
          type: string
          minLength: 3
          maxLength: 70
        text:
          description: "Specifies the detail error message identifying the cause of the error."
          type: string
          minLength: 1
          maxLength: 255
        user_message:
          description: "A human-readable text describing the error."
          type: string
          minLength: 1
          maxLength: 255
        more_info:
          description: "Specifies an URL to find more information about the error."
          type: string
          format: uri
      required:
      - code
      - severity
      - text
      
  headers:
    Location:
      description: 'The Location response header containing the URI to the newly created resource.'
      schema:
        type: string
        format: uri
    X-Request-ID:
      description: "Specify an unique end to end tracking request ID. The element will be populated by the SWIFT API gateway"
      schema:
        type: string
  parameters:
    pagination-offset:
      name: offset
      in: query
      style: form
      explode: false
      description: "Specifies the offset / starting point in the list of all available items, starting from which results will be returned. The numeric offset identifies the page token, allowing users to advance to the next page in the collection. The value 0 (zero) identifies the first page of entry."
      required: false
      schema:
        type: integer
        minimum: 0
      example: 0
    pagination-limit:
      name: limit
      in: query
      style: form
      explode: false
      description: "The maximum number of items to return in a page. If unspecified, the default limit will be returned. If the limit specified is greater than the maximum permitted by the API, the API will return the maximum permitted limit. Each API should define *maximum and *default limit."
      required: false
      schema:
        type: integer
    next-page-token:
      name: next-page-token
      in: query
      style: form
      explode: false
      required: false
      description: |
        A token that can be sent as `page_token` to retrieve the next page providing the user with a page token that may be used to retrieve the next page.
      schema:
        type: string
    X-Request-ID:
      description: "Specify an unique end to end tracking request ID. The element will be populated by the SWIFT API gateway"
      name: X-Request-ID
      in: header
      # OAS extension to specify required property for a specific audience 
      x-requiredByAPIGateway: true
      x-requiredByServiceProvider: true
      schema:
        type: string
    RBACRole:
      name: RBACRole
      in: header
      description: 'Acess control.'
      required: false
      schema:
        type: string
    ##  TO DO instruction-identification  ##
    instruction-identifier:
      name: instruction-identifier
      in: path
      style: simple
      explode: false
      description: An unique identification of the securities settlement instruction. 
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 52
    uti:
      name: uti
      in: query
      style: form
      explode: false
      required: false
      description: |
        UTI which is the unique and unambiguous identification of the transaction as known by the instructing party in ISO-registered format (ISO 23897:2020).
        
         Usage - The filter criteria is either `uti` or `transaction-identification`. If both `uti` and `transaction-identification` is provided, an error response will be returned.
      schema:
        type: string
        minLength: 1
        maxLength: 52
      example: '1A2B3C4D5E0000000000000000000000123456789'
    transaction-identification:
      name: transaction-identification
      in: query
      style: form
      explode: false
      required: false
      description: |
        Unambiguous identification of the transaction as known by the instructing party.
        
        Usage - The filter criteria is either `uti` or `transaction-identification`. If both `uti` and `transaction-identification` is provided, an error response will be returned. If SEME is provided participant BIC must be provided.
      schema:
        type: string
        minLength: 1
        maxLength: 16
        # pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
      example: 'FRTJ123REC2'
    financial-instrument-identification:
      name: financial-instrument-identification
      in: query
      style: form
      explode: false
      required: false
      description: Unique and unambiguous identifier of a financial instrument, assigned under a formal identification scheme. For example International Securities Identification Number (ISIN).     
      schema:
        type: string
        pattern: ^[A-Z]{2,2}[A-Z0-9]{9,9}[0-9]{1,1}$
      example: 'GB0987654321'
    participant-bic:
      name: participant-bic
      in: query
      style: form
      explode: false
      required: false
      description: |
        Specify the BIC of the participant involved in the settlement instruction.
        
        Usage - The response will be filtered by the BIC. If the BIC is not in scope of the requester, an error response will be returned.
      schema:
        type: string
        pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
      example: 'DEUTDEFF'
    bic:
      name: bic
      in: query
      style: form
      explode: false
      required: true
      description: |
        Specify the BIC of the participant involved in the settlement instruction.
        
        Usage - The response will be filtered by the BIC. If the BIC is not in scope of the requester, an error response will be returned.
      schema:
        type: string
        pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
      example: 'DEUTDEFF'
    from-date-time:
      name: from-date-time
      in: query
      description: |
        Specify the start date time from when changed transaction are to be reported.
      
        `Usage -` The parameter is mandatory. The date must be in the past and before the to-date-time. Response includes records that have been updated by tracker on or after from date time. Expressed in the YYYY-MM-DDThh:mm:ss.sssZ format.
      required: true
      schema:
        type: string
        format: date-time
        # $ref: '#/components/schemas/ISODateTime'
      example: '2023-10-02T00:00:00Z'
    to-date-time:
      name: to-date-time
      in: query
      description: |
        Specify the end date time up to which changed transaction are to be reported. If the parameter is omitted, the result will included any event up to the request time if there are any.
      
        `Usage -` The parameter is optional. If parameter is not provided, then current datetime will be used. Records included between the two interval inclusive. Expressed in the YYYY-MM-DDThh:mm:ss.sssZ format.
      required: false
      schema:
        type: string
        format: date-time
        # $ref: '#/components/schemas/ISODateTime'
      example: '2023-10-02T00:00:00Z'
    settlement-date:
      name: settlement-date
      in: query
      description: |
        Date at which the securities are to be delivered or received. 
      required: false
      schema:
        $ref: '#/components/schemas/ISODate'
      example: '2022-07-04'
  responses:
    400-BadRequest:
      description: 'Bad Request'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    401-Unauthorized:
      description: 'Unauthorized'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    403-Forbidden:
      description: 'Forbidden'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    404-NotFound:
      description: 'Not Found'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    405-MethodNotAllowed:
      description: 'Method Not Allowed'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    406-NotAcceptable:
      description: 'Not Acceptable'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    407-ProxyAuthenticationRequired:
      description: 'Proxy Authentication Required'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    409-Conflict:
      description: 'Conflict'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    410-Gone:
      description: 'Gone'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    412-PreconditionFailed:
      description: 'Precondition Failed'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    413-PayloadTooLarge:
      description: 'Payload Too Large'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    415-UnsupportedMediaType:
      description: 'Unsupported Media Type'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    429-TooManyRequests:
      description: 'Too Many Requests'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    500-InternalServerError:
      description: 'Internal Server Error'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    502-BadGateway:
      description: 'Bad Gateway'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    503-ServiceUnavailable:
      description: 'Service Unavailable'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'
    504-GatewayTimeout:
      description: 'Gateway Timeout'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            additionalProperties: true
            oneOf:
              - $ref: '#/components/schemas/ErrorMessage'              
              - $ref: '#/components/schemas/Errors'

###########################
# Security Definition     #
###########################            
  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 environment where the API is exposed. 
        
        * MV-SIPN - jwt-bearer grant type [RFC 7523](https://tools.ietf.org/html/rfc7523) with Signed JWT assertion
        * Internet - Password grant type with license credentials.

        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
###########################
  examples:

    SettlementInstructionsViewBothSideAPMT:
      summary: Settlement Instruction Against Payment Both Side by UTI 
      value:
        settlement_report:
          - transaction_reference:
              uti: HB7FFAZI0OMZ8PP8OE26BDF38A2C0865334355A3AD9B8D0BD006 #03
            settlement_instruction:
              - securities_movement_type: RECE
                payment: APMT
                trade_detail:
                  uti: '123400ABCDEFGHIJKL1212345678901234567890123456789012'
                  trade_date:
                    date:
                      date: '2021-08-11'
                  settlement_date:
                    date:
                      date: '2021-08-16'
                financial_instrument:
                  financial_instrument_identification:
                    isin: 'GB0987654321'
                    description: 'Instrument Description'
                settlement_quantity:
                  quantity:
                    face_amount: '4000000.00'
                delivering_settlement_party:
                  depository:
                    identification:
                      bic: 'CRSTGB22'
                  party1:
                    identification:
                      bic: 'DECUXXXX'
                  party2:
                    identification:
                      bic: 'DEI1XXXX'
                  party3:
                    identification:
                      bic: 'DEL2XXXX'
                  party4:
                    identification:
                      bic: 'DEAGXXXX'
                  party5:
                    identification:
                      bic: 'SELLXXXX'
                receiving_settlement_party:
                  depository:
                    identification:
                      bic: 'CRSTGB22'
                  party1:
                    identification:
                      bic: 'RECUXXXX'
                  party2:
                    identification:
                      bic: 'REI1XXXX'
                  party3:
                    identification:
                      bic: 'REI2XXXX'
                  party4:
                    identification:
                      bic: 'REAGXXXX'
                  party5:
                    identification:
                      bic: 'BUYRXXXX'
                settlement_amount:
                  amount:
                    currency: 'GBP'
                    amount: '4047151.30'
                  credit_debit_indicator: DBIT
                settlement_tracker_status:
                  settlement_tracker_status: MATCHED
                  status_issuer: 'ISSUEBIC'
                  status_update_timestamp: '2022-08-18T11:55:37.736Z'
                instruction_status:
                  - status_type: MTCH
                    status_code: 
                      code: NMAT
                    reason:
                      - reason_type: NMAT
                        reason_code:
                          code: NORE
                        additional_reason_information: string
                    status_issuer: 'ISSUEBIC'
                    status_update_timestamp: '2022-08-31T14:16:29.447Z'
              - securities_movement_type: DELI
                payment: APMT
                trade_detail:
                  uti: '123400ABCDEFGHIJKL1212345678901234567890123456789012'
                  trade_date:
                    date:
                      date: '2021-08-11'
                  settlement_date:
                    date:
                      date: '2021-08-16'
                settlement_quantity:
                  quantity:
                    face_amount: '4000000'
                financial_instrument:
                  financial_instrument_identification:
                    isin: 'GB0987654322'
                    description: 'Instrument Description'
                delivering_settlement_party:
                  depository:
                    identification:
                      bic: 'CRSTGB22'
                  party1:
                    identification:
                      bic: 'DECUXXXX'
                  party2:
                    identification:
                      bic: 'DEI1XXXX'
                  party3:
                    identification:
                      bic: 'DEL2XXXX'
                  party4:
                    identification:
                      bic: 'DEAGXXXX'
                  party5:
                    identification:
                      bic: 'SELLXXXX'
                receiving_settlement_party:
                  depository:
                    identification:
                      bic: 'CRSTGB22'
                  party1:
                    identification:
                      bic: 'RECUXXXX'
                  party2:
                    identification:
                      bic: 'REI1XXXX'
                  party3:
                    identification:
                      bic: 'REI2XXXX'
                  party4:
                    identification:
                      bic: 'REAGXXXX'
                  party5:
                    identification:
                      bic: 'BUYRXXXX'
                settlement_amount:
                  amount:
                    currency: 'GBP'
                    amount: '4047151.30'
                  credit_debit_indicator: DBIT
                settlement_tracker_status:
                  settlement_tracker_status: MATCHED
                  status_issuer: 'ISSUEBIC'
                  status_update_timestamp: '2022-08-18T11:55:37.736Z'
                instruction_status:
                  - status_type: MTCH
                    status_code:
                      code: NMAT
                    reason:
                      - reason_type: NMAT
                        reason_code:
                          code: NORE
                        additional_reason_information: string
                    status_issuer: 'ISSUEBIC'
                    status_update_timestamp: '2022-08-31T14:16:29.447Z'

    SettlementInstructionsNoRecord:
      summary: No record found by the criteria
      value:
        settlement_report: []
  
    SettlementInstructionsViewFull:
      summary: Settlement View Report Raw Response
      value:
        settlement_report:
          - transaction_reference:
              uti: string
              participant_transaction_identification: string
              message_identification: string
              message_sender: GGB1FV24CAT
            settlement_instruction:
              - securities_movement_type: DELI
                payment: FREE
                trade_detail:
                  uti: R0Z.(3S4cSYDAKds,dEKR Dy:uI:kaHrmPzH
                  trade_date:
                    date:
                      date: 1052-01-31Z
                      # additionalProp1: {}
                    # additionalProp1: {}
                  settlement_date:
                    date:
                      date: 5200-02-29+08:30
                      # additionalProp1: {}
                    # additionalProp1: {}
                  effective_settlement_date:
                    date:
                      date: '1379-03-19'
                      # additionalProp1: {}
                    # additionalProp1: {}
                financial_instrument:
                  financial_instrument_identification:
                    isin: string
                    other_identification:
                      - identification: string
                        suffix: string
                        type:
                          code: stri
                          # additionalProp1: {}
                    description: string
                settlement_quantity:
                  quantity:
                    unit: string
                    # additionalProp1: {}
                  # additionalProp1: {}
                settled_quantity:
                  quantity:
                    unit: string
                    # additionalProp1: {}
                  # additionalProp1: {}
                previously_settled_quantity:
                  unit: string
                  # additionalProp1: {}
                remaining_to_be_settled_quantity:
                  unit: string
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: xMi5
                    issuer: '7'
                    scheme_name: Ka8W
                safekeeping_place:
                  safekeeping_place_format:
                    identification:
                      safekeeping_place_type: SHHE
                      identification: string
                    # additionalProp1: {}
                delivering_settlement_party:
                  depository:
                    identification:
                      bic: WDKINOD1
                      # additionalProp1: {}
                  party1:
                    identification:
                      bic: R5EDBA74
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: FRN0
                        issuer: 7Kc2
                        scheme_name: Z3Lo
                  party2:
                    identification:
                      bic: VRCPCJLGSWE
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: fIPx
                        issuer: ZgVn
                        scheme_name: U2ly
                  party3:
                    identification:
                      bic: 34WBCZCQ
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: ezH0
                        issuer: xgen
                        scheme_name: HZOf
                  party4:
                    identification:
                      bic: KZJLJY06
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: N9Yj
                        issuer: rQpy
                        scheme_name: aVUP
                  party5:
                    identification:
                      bic: G61YFNIYOXR
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: sSq6
                        issuer: rizb
                        scheme_name: CNfv
                receiving_settlement_party:
                  depository:
                    identification:
                      bic: YFOBKPF8L97
                      # additionalProp1: {}
                  party1:
                    identification:
                      bic: AVUDVF5V
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: buAu
                        issuer: AYNT
                        scheme_name: IoDX
                  party2:
                    identification:
                      bic: ZVH2YLAU
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: 7rJB
                        issuer: y5nD
                        scheme_name: 9zFv
                  party3:
                    identification:
                      bic: WV3FXLJLPKW
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: Ma24
                        issuer: Q5oR
                        scheme_name: nQRj
                  party4:
                    identification:
                      bic: 2J4GDLVZG7B
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: PWhY
                        issuer: ekG2
                        scheme_name: Xub
                  party5:
                    identification:
                      bic: 2G2CSPA4RJL
                      # additionalProp1: {}
                    safekeeping_account:
                      identification: string
                      type:
                        identification: XT0p
                        issuer: H5w5
                        scheme_name: 0Fc4
                settlement_amount:
                  amount:
                    currency: QOY
                    amount: '0000000000000000000'
                  credit_debit_indicator: CRDT
                settled_amount:
                  amount:
                    currency: YPO
                    amount: '000000004243513.58'
                  credit_debit_indicator: CRDT
                previously_settled_amount:
                  amount:
                    currency: IEM
                    amount: '0000000000000000000'
                  credit_debit_indicator: CRDT
                remaining_to_be_settled_amount:
                  amount:
                    currency: NCX
                    amount: '0000000000000000000'
                  credit_debit_indicator: CRDT
                settlement_tracker_status:
                  settlement_tracker_status: CANCELLED
                  status_issuer: L971QLQ9NN1
                  status_update_timestamp: '2023-11-29T11:48:56.386Z'
                instruction_status:
                  - status_type: CPRC
                    status_code:
                      code: CAND
                      # additionalProp1: {}
                    reason:
                      - reason_type: PACK
                        reason_code:
                          code: ADEA
                          # additionalProp1: {}
                        additional_reason_information: string
                    status_issuer: Z6S9HWP9
                    status_update_timestamp: '2023-11-29T11:48:56.386Z'
                instruction_exchange_party:
                  - event_sender: MR8SAJWIDMK
                    message_originator: string
                    event_receiver: FT1KKSQ3ML4
                    message_receiver: string
                    create_timestamp: '2004-02-29T00:51:27.39994582'

    GET-SettlementInstructionsAuditEvent:
      summary: Settlement Instruction Audit Event
      value:
        securities_settlement_instruction_events:
          - transaction_identification: 'RUC1TR1B092147'
            securities_movement_type: RECE
            payment: APMT
            trade_detail:
              uti: '123400ABCDEFGHIJKL1212345678901234567890123456789012'
              trade_date:
                date:
                  date: '2021-08-11'
              settlement_date:
                date:
                  date: '2021-08-16'
            financial_instrument:
              financial_instrument_identification:
                isin: 'GB0987654321'
                description: 'Instrument Description'
            settlement_quantity:
              quantity:
                face_amount: '4000000.00'
            delivering_settlement_party:
              depository:
                identification:
                  bic: 'CSD1GB22'
              party1:
                identification:
                  bic: 'DECUXXXX'
              party2:
                identification:
                  bic: 'DEI1XXXX'
              # party3:
              #   identification:
              #     bic: 'DEL2XXXX'
              # party4:
              #   identification:
              #     bic: 'DEAGXXXX'
              # party5:
              #   identification:
              #     bic: 'SELLXXXX'
            receiving_settlement_party:
              depository:
                identification:
                  bic: 'CSD1GB22'
              party1:
                identification:
                  bic: 'RECUXXXX'
              party2:
                identification:
                  bic: 'REI1XXXX'
              # party3:
              #   identification:
              #     bic: 'REI2XXXX'
              # party4:
              #   identification:
              #     bic: 'REAGXXXX'
              # party5:
              #   identification:
              #     bic: 'BUYRXXXX'
            settlement_amount:
              amount:
                currency: 'GBP'
                amount: '4047151.30'
              credit_debit_indicator: DBIT
            instruction_exchange_party:
              event_sender: 'BUYRXXXX'
              message_originator: 'CBICXXXX'
              event_receiver: 'DEAGXXXX'
              message_receiver: 'RBICXXXX'
              create_timestamp: '2022-08-31T14:00:00.447Z'
            originating_channel: 'MT543'              
          - transaction_identification: 'CUC1TR1D092148'
            securities_movement_type: RECE
            payment: APMT
            trade_detail:
              uti: '123400ABCDEFGHIJKL1212345678901234567890123456789012'
              trade_date:
                date:
                  date: '2021-08-11'
              settlement_date:
                date:
                  date: '2021-08-16'
            financial_instrument:
              financial_instrument_identification:
                isin: 'GB0987654321'
                description: 'Instrument Description'
            settlement_quantity:
              quantity:
                face_amount: '4000000.00'
            delivering_settlement_party:
              depository:
                identification:
                  bic: 'CSD1GB22'
              party1:
                identification:
                  bic: 'DECUXXXX'
              party2:
                identification:
                  bic: 'DEI1XXXX'
              party3:
                identification:
                  bic: 'DEL2XXXX'
              # party4:
              #   identification:
              #     bic: 'DEAGXXXX'
              # party5:
              #   identification:
              #     bic: 'SELLXXXX'
            receiving_settlement_party:
              depository:
                identification:
                  bic: 'CSD1GB22'
              party1:
                identification:
                  bic: 'RECUXXXX'
              party2:
                identification:
                  bic: 'REI1XXXX'
              party3:
                identification:
                  bic: 'REI2XXXX'
              # party4:
              #   identification:
              #     bic: 'REAGXXXX'
              # party5:
              #   identification:
              #     bic: 'BUYRXXXX'
            settlement_amount:
              amount:
                currency: 'GBP'
                amount: '4047151.30'
              credit_debit_indicator: DBIT
            instruction_exchange_party:
              event_sender: 'REI2XXXX'
              message_originator: 'CBICXXXX'
              event_receiver: 'REAGXXXX'
              message_receiver: 'RBICXXXX'
              create_timestamp: '2022-08-31T14:00:01.447Z'
            originating_channel: 'MT541'              
          - transaction_identification: 'CUC1TR1C092149'
            securities_movement_type: RECE
            payment: APMT
            trade_detail:
              uti: '123400ABCDEFGHIJKL1212345678901234567890123456789012'
              trade_date:
                date:
                  date: '2021-08-11'
              settlement_date:
                date:
                  date: '2021-08-16'
            financial_instrument:
              financial_instrument_identification:
                isin: 'GB0987654321'
                description: 'Instrument Description'
            settlement_quantity:
              quantity:
                face_amount: '4000000.00'
            delivering_settlement_party:
              depository:
                identification:
                  bic: 'CSD1GB22'
              party1:
                identification:
                  bic: 'DECUXXXX'
              party2:
                identification:
                  bic: 'DEI1XXXX'
              party3:
                identification:
                  bic: 'DEL2XXXX'
              party4:
                identification:
                  bic: 'DEAGXXXX'
              # party5:
              #   identification:
              #     bic: 'SELLXXXX'
            receiving_settlement_party:
              depository:
                identification:
                  bic: 'CSD1GB22'
              party1:
                identification:
                  bic: 'RECUXXXX'
              party2:
                identification:
                  bic: 'REI1XXXX'
              party3:
                identification:
                  bic: 'REI2XXXX'
              party4:
                identification:
                  bic: 'REAGXXXX'
              # party5:
              #   identification:
              #     bic: 'BUYRXXXX'
            settlement_amount:
              amount:
                currency: 'GBP'
                amount: '4047151.30'
              credit_debit_indicator: DBIT
            instruction_exchange_party:
              event_sender: 'REI2XXXX'
              message_originator: 'CBICXXXX'
              event_receiver: 'REAGXXXX'
              message_receiver: 'RBICXXXX'
              create_timestamp: '2022-08-31T14:00:02.447Z'
            originating_channel: 'MT541'              

    GET-SettlementInstructionsAuditEventNoRecord:
      summary: No record found by the criteria
      value:
        securities_settlement_instruction_events: []

    GET-SettlementInstructionsAuditEventFull:
      summary: Settlement Instruction Audit Event Raw Response
      value:
        securities_settlement_instruction_events:
          - transaction_identification: string
            securities_movement_type: DELI
            payment: FREE
            linkage:
              - reference:
                  securities_settlement_transaction_identification: string
                  # additionalProp1: {}
            trade_detail:
              uti: 'Pdxa '
              trade_date:
                date:
                  date: 7321-12-31Z
                  # additionalProp1: {}
                # additionalProp1: {}
              settlement_date:
                date:
                  date: 5371-01-31+15:11
                  # additionalProp1: {}
                # additionalProp1: {}
              effective_settlement_date:
                date:
                  date: '2801-12-12'
                  # additionalProp1: {}
                # additionalProp1: {}
            financial_instrument:
              financial_instrument_identification:
                isin: string
                other_identification:
                  - identification: string
                    suffix: string
                    type:
                      code: stri
                      # additionalProp1: {}
                description: string
            settlement_quantity:
              quantity:
                unit: string
                # additionalProp1: {}
              # additionalProp1: {}
            settled_quantity:
              quantity:
                unit: string
                # additionalProp1: {}
              # additionalProp1: {}
            previously_settled_quantity:
              unit: string
              # additionalProp1: {}
            remaining_to_be_settled_quantity:
              unit: string
              # additionalProp1: {}
            safekeeping_account:
              identification: string
              type:
                identification: Vmy7
                issuer: 8SyS
                scheme_name: YjnZ
            safekeeping_place:
              safekeeping_place_format:
                identification:
                  safekeeping_place_type: SHHE
                  identification: string
                # additionalProp1: {}
            delivering_settlement_party:
              depository:
                identification:
                  bic: QRV4PDX1W1F
                  # additionalProp1: {}
              party1:
                identification:
                  bic: 8N17FQM6
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: gDl9
                    issuer: eG1E
                    scheme_name: rSLE
              party2:
                identification:
                  bic: YU28DGTG
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: gzzX
                    issuer: XhzA
                    scheme_name: 8cKZ
              party3:
                identification:
                  bic: GZADGEKHCCX
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: HWHM
                    issuer: fzU9
                    scheme_name: Mv32
              party4:
                identification:
                  bic: UOCJUOR8
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: AUyK
                    issuer: UMDG
                    scheme_name: 3Lqv
              party5:
                identification:
                  bic: YSI9SUBX
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: k8hB
                    issuer: Qcm1
                    scheme_name: FhJx
            receiving_settlement_party:
              depository:
                identification:
                  bic: ZJNZRFV4S7B
                  # additionalProp1: {}
              party1:
                identification:
                  bic: 9H13VBJ7
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: 5evx
                    issuer: uSLJ
                    scheme_name: TC6V
              party2:
                identification:
                  bic: IE1EPOHN
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: tYKJ
                    issuer: Z8UF
                    scheme_name: JWbo
              party3:
                identification:
                  bic: PWJOPQY1MOD
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: 5Ke0
                    issuer: pdBp
                    scheme_name: R5HH
              party4:
                identification:
                  bic: S1OEYRQBM2F
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: 0uMM
                    issuer: 0igY
                    scheme_name: EAbe
              party5:
                identification:
                  bic: 82UVVO7Z
                  # additionalProp1: {}
                safekeeping_account:
                  identification: string
                  type:
                    identification: 7zKJ
                    issuer: whbF
                    scheme_name: syM
            settlement_amount:
              amount:
                currency: CQT
                amount: '0000000000000000000'
              credit_debit_indicator: CRDT
            settled_amount:
              amount:
                currency: ZTV
                amount: '0000000000000000000'
              credit_debit_indicator: CRDT
            previously_settled_amount:
              amount:
                currency: YOP
                amount: '0000000000000000000'
              credit_debit_indicator: CRDT
            remaining_to_be_settled_amount:
              amount:
                currency: FRS
                amount: '0000000000000000000'
              credit_debit_indicator: CRDT
            settlement_tracker_status:
              settlement_tracker_status: CANCELLED
              status_issuer: H1MUWTHB
              status_update_timestamp: '2023-11-29T11:57:05.678Z'
            instruction_status:
              - status_type: CPRC
                status_code:
                  code: CAND
                  # additionalProp1: {}
                reason:
                  - reason_type: PACK
                    reason_code:
                      code: ADEA
                      # additionalProp1: {}
                    additional_reason_information: string
                status_issuer: 83BQWLGA
                status_update_timestamp: '2023-11-29T11:57:05.678Z'
            instruction_exchange_party:
              event_sender: YH3QNRWB3JN
              message_originator: string
              event_receiver: 4X8ERUQ3PK3
              message_receiver: string
              create_timestamp: '4400-02-29T07:27:26.836426570746005400565948Z'
            originating_channel: string

    GET-SettlementInstructionsStatusReport:
      summary: Securities Settlement Status Report
      value:
        settlement_status_report:
          - transaction_reference:
              uti: 'HB7FFAZI0OMZ8PP8OE26BDF38A2C0865334355A3AD9B8D0BD006'
              participant_transaction_identification: 'FRTJ123RECE2'
            settlement_instruction:
              - securities_movement_type: 'DELI'
                payment: 'FREE'
                financial_instrument:
                  financial_instrument_identification:
                    isin: 'GB0987654321'
                    description: 'Instrument Description'
                settlement_tracker_status:
                  settlement_tracker_status: 'MATCHED'
                  status_issuer: 'ISSUEBIC'
                  status_update_timestamp: '2023-10-27T14:23:31.665Z'
                instruction_status:
                  - status_type: MTCH
                    status_code:
                      code: NMAT
                    reason:
                      - reason_type: NMAT
                        reason_code:
                          code: NORE
                          # additionalProp1: {}
                        additional_reason_information: string
                    status_issuer: 'ISSUEBIC'
                    status_update_timestamp: '2023-10-27T14:23:31.665Z'
            tracker_update_timestamp: '2023-10-27T14:23:31.665Z'
        meta:
          transaction_count: 1
        links:
          href: 'https://api.swiftnet.sipn.swift.com/swift-securities-view/v1/settlement-instruction-status-summary-report?limit=25,next-page-token=Ahash@#$value&'
          rel: 'next'
          type: 'GET'

    GET-SettlementInstructionsStatusReport-RAW:
      summary: Settlement Instruction Status Report Raw Response
      value:
        settlement_status_report:
          - transaction_reference:
              uti: string
              participant_transaction_identification: string
              message_identification: string
              message_sender: EH0TECLD
            settlement_instruction:
              - securities_movement_type: DELI
                payment: FREE
                financial_instrument:
                  financial_instrument_identification:
                    isin: TUKZETR1D749
                    other_identification:
                      - identification: string
                        suffix: string
                        type:
                          code: stri
                          # additionalProp1: {}
                    description: string
                settlement_tracker_status:
                  settlement_tracker_status: CANCELLED
                  status_issuer: J53RMK06
                  status_update_timestamp: '2023-10-31T16:32:28.808Z'
                instruction_status:
                  - status_type: CPRC
                    status_code:
                      code: CAND
                      # additionalProp1: {}
                    reason:
                      - reason_type: PACK
                        reason_code:
                          code: ADEA
                          # additionalProp1: {}
                        additional_reason_information: string
                    status_issuer: DRCAUJIKK0B
                    status_update_timestamp: '2023-10-31T16:32:28.808Z'
            tracker_update_timestamp: '2023-10-31T16:32:28.808Z'
        meta:
          transaction_count: 0
        links:
          href: string
          rel: string
          type: string