openapi: 3.0.2
info:
  title: Trade Finance Undertaking API
  description: |
    Manage all processes involved in the life cycle of a Trade Finance Undertaking application between corporate and banks :
                
    `The API supports following functionalities:`
    * Request for application :  Sent by the party requesting issuance of the undertaking (applicant or obligor) to the party issuing the undertaking (demand guarantee or standby letter of credit or dependent undertaking or counter-guarantee or counter-standby) and provides details on the applicable rules, terms, conditions and content of the undertaking to be issued.
    * Amendment of an already issued undertaking (reduction, release, extend, cancellation or termination)
    * Demand for payment or extension of undertaking expiry date

    `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: Community API Redistribution License
    url: https://www.swift.com/swift-resource/251146/download
  version: 0.0.6
servers:
  - description: URL for Sandbox Environment.
    url: https://sandbox.swift.com/swift-trade-finance-undertakings/v1
  - description: URL for Pilot.
    url: https://api-test.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1
  - description: URL for Live.
    url: https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1  

security:
  - oauthBearerToken: []
  - oAuth2: []
  
tags:
  - name: Trade Finance Undertaking
    description: API endpoints supporting demand guarantees application process.
  - name: Trade Finance Undertaking Report
    description: API endpoints supporting demand guarantees reporting.
paths:
  /trade-finance-undertakings:
    post:
      tags:
        - Trade Finance Undertaking
      summary: Create Trade Finance Undertaking.
      description: Application for issuance of Trade Finance Undertaking. The request is sent by a corporate (Applicant) to its bank for bank review or as a final draft to issue a guarantee.
      operationId: createBankGuarantee 
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TradeFinanceInstruction'
            examples:
                CreateBankGuaranteeEx-1:
                  $ref: '#/components/examples/CreateBankGuaranteeEx-1'
                CreateBankGuaranteeEx-2:
                  $ref: '#/components/examples/CreateBankGuaranteeEx-2'
      responses:
        '202':
          description: 'Accepted'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeFinanceInstructionReference'
              example:
                application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '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'
    get:
      tags:
        - Trade Finance Undertaking
      summary:  Get Trade Finance Undertaking.
      description: |
        Request details of all available Trade Finance Undertaking applications or issued Trade Finance Undertaking, including any amendments, demands, release, extensions.
        
        The endpoint will return an empty array when no resource is found.
        
        **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 in this example, the query parameters are not URL encoded for readability.`
        
        **Use of specific filter**
        
        https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1/trade-finance-undertakings?undertaking-identification=BGREQ30122022-01

        **Use of logical operator AND (application-from-date and application-to-date)**
        
         https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1/trade-finance-undertakings?application-from-date=2023-05-22&application-to-date=2023-05-23
        
      operationId: getBankGuarantees
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # query
        - $ref: '#/components/parameters/applicant-issuance-request-identification'
        - $ref: '#/components/parameters/undertaking-identification'
        - $ref: '#/components/parameters/application-date'
        - $ref: '#/components/parameters/application-from-date'
        - $ref: '#/components/parameters/application-to-date'
        - $ref: '#/components/parameters/issuance-date'
        - $ref: '#/components/parameters/application-lifecycle-status'
        # Update v0.0.2
        - $ref: '#/components/parameters/pagination-offset'
        - $ref: '#/components/parameters/pagination-limit'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  trade_finance_instruction:
                    type: array
                    items:
                      $ref: '#/components/schemas/TradeFinanceInstruction'
                  links:
                    type: array
                    items:
                      $ref: '#/components/schemas/Link'
              examples:
                GETBankGuaranteeResponseCollectionEx-1:
                  $ref: '#/components/examples/GETBankGuaranteeResponseCollectionEx-1'
                GETBankGuaranteeResponseCollectionEx-2:
                  $ref: '#/components/examples/GETBankGuaranteeResponseCollectionEx-2'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '413':
           $ref: '#/components/responses/414-URITooLong'
        '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'
  /trade-finance-undertakings/{application-reference}:
    get:
      tags:
        - Trade Finance Undertaking
      summary: Get Trade Finance Undertaking.
      description: Request details of a specific Trade Finance Undertaking application or issued Trade Finance Undertaking, including any amendments, demands, release, extensions etc.
      operationId: getBankGuarantee 
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # path        
        - $ref: '#/components/parameters/application-reference'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
            ETag:
              $ref: '#/components/headers/ETag'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeFinanceInstruction'
              examples:
                GETBankGuaranteeResponseEx-1:
                  $ref: '#/components/examples/GETBankGuaranteeResponseEx-1'
                GETBankGuaranteeResponseEx-2:
                  $ref: '#/components/examples/GETBankGuaranteeResponseEx-2'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '413':
           $ref: '#/components/responses/414-URITooLong'
        '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'
    put:
      tags:
        - Trade Finance Undertaking
      summary: Replace Trade Finance Undertaking.
      description: Replace all the details of a Trade Finance Undertaking application, before issuance.
      operationId: replaceBankGuarantee 
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        - $ref: '#/components/parameters/If-Match'
        # path        
        - $ref: '#/components/parameters/application-reference'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TradeFinanceInstruction'
            examples:
                replaceBankGuarantee_success-1:
                  $ref: '#/components/examples/ReplaceBankGuarantee-1'
                replaceBankGuarantee_success-2:
                  $ref: '#/components/examples/ReplaceBankGuarantee-2'
      responses:
        '202':
          description: 'Accepted'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '412':
          $ref: '#/components/responses/412-PreconditionFailed'
        '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'
    patch:
      tags:
        - Trade Finance Undertaking
      summary: Update Trade Finance Undertaking.
      description: Post issuance amendments of the Trade Finance Undertaking including any permitted modification to the application such as reduction, release, extend.
      operationId: modifyBankGuarantee
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        - $ref: '#/components/parameters/If-Match'
        # path        
        - $ref: '#/components/parameters/application-reference'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TradeFinanceInstruction'
            examples:
                updateBankGuarantee_success-1:
                  $ref: '#/components/examples/UpdateBankGuarantee-1'
                updateBankGuarantee_success-2:                        
                  $ref: '#/components/examples/UpdateBankGuarantee-2'
      responses:
        '202':
          description: 'Accepted'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '412':
          $ref: '#/components/responses/412-PreconditionFailed'
        '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'
  /trade-finance-undertakings/{application-reference}/payment-demand:
    post:
      tags:
        - Trade Finance Undertaking
      summary: Request Payment.
      description: Demand for payment under Guarantee. The request to pay is sent by the corporate (Beneficiary) to its bank under a specified Guarantee.
      operationId: createGuaranteePaymentDemand
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # path        
        - $ref: '#/components/parameters/application-reference'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GuaranteePaymentDemand'
            examples:
                CreateBankGuaranteePaymentDemandEx-1:
                  $ref: '#/components/examples/CreateBankGuaranteePaymentDemandEx-1'
                CreateBankGuaranteePaymentDemandEx-2:
                  $ref: '#/components/examples/CreateBankGuaranteePaymentDemandEx-2'
      responses:
        '202':
          description: 'Accepted'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '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'
  /trade-finance-undertakings/{application-reference}/payment-demand/{demand-reference}:
    get:
      tags:
        - Trade Finance Undertaking
      summary: Retrieve demand for payment under Guarantee.
      description: Retrieve a demand for payment associated to a trade finance undertaking.
      operationId: fetchDemandSubset
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # path        
        - $ref: '#/components/parameters/application-reference'
        - $ref: '#/components/parameters/demand-reference'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
            ETag:
              $ref: '#/components/headers/ETag'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuaranteePaymentDemand'
              examples:
                  GETBankGuaranteePaymentDemandEx-1:
                    $ref: '#/components/examples/GETBankGuaranteePaymentDemandEx-1'
                  GETBankGuaranteePaymentDemandEx-2:
                    $ref: '#/components/examples/GETBankGuaranteePaymentDemandEx-2'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '413':
           $ref: '#/components/responses/414-URITooLong'
        '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'
  /trade-finance-undertakings/{application-reference}/beneficiary-amendment-response:
    post:
      tags:
        - Trade Finance Undertaking
      summary: Beneficiary response to amendment advice
      description: | 
        Beneficiary sends their response to an amendment advice for a specific undertaking. 
        MUST use 
          * `AMNR` - AmendmentResponse - Undertaking Amendment Response for the event_type and,
          * AmendmentResponseInformation1 within the additional status information of the status field.
      operationId: postBeneficiaryAmendmentResponse
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # path        
        - $ref: '#/components/parameters/application-reference'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BankGuaranteeEventDetails1'
            examples:
                BeneficiaryAmendmentReplyEx-1:
                  $ref: '#/components/examples/BeneficiaryAmendmentReplyEx-1'
      responses:
        '202':
          description: 'Accepted'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '412':
          $ref: '#/components/responses/412-PreconditionFailed'
        '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'
  /trade-finance-undertakings/{application-reference}/extend-or-pay-response:
    post:
      tags:
        - Trade Finance Undertaking
      summary: Corporate response to extend or pay request advice
      description: | 
        Corporate sends their response to a request to extend or pay for a specific undertaking. 
        MUST use 
          * `XTRS` - AmendmentResponse - Undertaking Amendment Response for the event_type and,
          * DemandResponseInformation2 within the additional status information of the status field.
      operationId: postExtendOrPayResponse
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # path        
        - $ref: '#/components/parameters/application-reference'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BankGuaranteeEventDetails1'
            examples:
                ExtendOrPayEx-1:
                  $ref: '#/components/examples/ExtendOrPayEx-1'
      responses:
        '202':
          description: 'Accepted'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '412':
          $ref: '#/components/responses/412-PreconditionFailed'
        '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'
      
  /trade-finance-undertakings/{application-reference}/payment-demand/{demand-reference}/demand-refusal:
    post:
      tags:
        - Trade Finance Undertaking
      summary: Corporate response to refuse a demand for payment
      description: | 
        Corporate sends their response to a request to extend or pay for a specific undertaking. 
        MUST use 
          * `DMRS` - DemandResponse - Undertaking Demand Refusal Response for the event_type and,
          * DemandRefusal2 within the additional status information of the status field.
      operationId: postDemandRefusal
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # path        
        - $ref: '#/components/parameters/application-reference'
        - $ref: '#/components/parameters/demand-reference'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BankGuaranteeEventDetails1'
            examples:
                DemandRefusalEx-1:
                  $ref: '#/components/examples/DemandRefusalEx-1'
      responses:
        '202':
          description: 'Accepted'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '412':
          $ref: '#/components/responses/412-PreconditionFailed'
        '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'      
  /trade-finance-undertakings/{application-reference}/audit-trails:
    get:
      tags:
        - Trade Finance Undertaking Report
      summary: Retrieve a summary of the lifecycle events of a specific undertaking.
      description: Retrieve a summary of the lifecycle events of a specific undertaking. These are business level events, not technical level.
      operationId: fetchUndertakingAuditTrailSubset
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # path        
        - $ref: '#/components/parameters/application-reference'
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UndertakingAuditTrail1Subset'
              examples:
                  GETBankGuaranteeAuditTrailEx-1:
                    $ref: '#/components/examples/GETBankGuaranteeAuditTrailEx-1'
                  GETBankGuaranteeAuditTrailEx-2:
                    $ref: '#/components/examples/GETBankGuaranteeAuditTrailEx-2'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '413':
           $ref: '#/components/responses/414-URITooLong'
        '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'
  /trade-finance-undertakings-report:  
    get:
      tags:
        - Trade Finance Undertaking Report
      summary: Generates a overview report of undertakings in scope of the applied search parameters.
      description: Generates a overview report of undertakings based on the applied search parameters.
      operationId: fetchUndertakingReportSubset
      parameters:
        # headers
        - $ref: '#/components/parameters/X-Request-ID'
        - $ref: '#/components/parameters/X-UserContext'
        - $ref: '#/components/parameters/X-BIC'
        # query 
        - $ref: '#/components/parameters/from-undertaking-issuance-date'
        - $ref: '#/components/parameters/to-undertaking-issuance-date'
        - $ref: '#/components/parameters/from-undertaking-expiry-date'
        - $ref: '#/components/parameters/to-undertaking-expiry-date'
        - $ref: '#/components/parameters/from-undertaking-amount'
        - $ref: '#/components/parameters/to-undertaking-amount'
        - $ref: '#/components/parameters/undertaking-amount-currency'
        - $ref: '#/components/parameters/applicant-bic'
        - $ref: '#/components/parameters/applicant-lei'
        - $ref: '#/components/parameters/applicant-name'
        - $ref: '#/components/parameters/beneficiary-bic'
        - $ref: '#/components/parameters/beneficiary-lei'
        - $ref: '#/components/parameters/beneficiary-name'        
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UndertakingReport1Subset'
              examples:
                  GETBankGuaranteeReportEx-1:
                    $ref: '#/components/examples/GETBankGuaranteeReportEx-1'
                  GETBankGuaranteeReportEx-2:
                    $ref: '#/components/examples/GETBankGuaranteeReportEx-2'
        '400':
          $ref: '#/components/responses/400-BadRequest'
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '404':
          $ref: '#/components/responses/404-NotFound'
        '406':
          $ref: '#/components/responses/406-NotAcceptable'
        '413':
           $ref: '#/components/responses/414-URITooLong'
        '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:
    TradeFinanceInstructionReference:
      x-MXComponent: UndertakingSubsetApplicationReference
      type: object
      description: Details about an Undertaking, from Application to Issuance to Amendment to Termination.
      additionalProperties: false
      properties:
        application_reference:
          x-MXComponent: UUIDv4Identifier
          description: "Unique technical identification of the Undertaking as defined by the issuer's server. \n\nNote: The applicant does not use this field when first submitting the application, but it should be used when subsequently updating the Undertaking details.\n\nUniversally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\".\n"
          type: string
          format: uuid
          # pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
    AccountIdentification68Choice:
      x-MXComponent: AccountIdentification68Choice
      type: object
      description: Specifies the unique identification of an account as assigned by the account servicer.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          iban:
            x-MXComponent: IBAN2007Identifier
            description: |
              International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.

              The International Bank Account Number is a code used internationally by financial institutions to uniquely identify the account of a customer at a financial institution as described in the 2007 edition of the ISO 13616 standard "Banking and related financial services - International Bank Account Number (IBAN)" and replaced by the more recent edition of the standard.
            type: string
            pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$
        required:
        - iban
      - type: object
        additionalProperties: false
        properties:
          other:
            x-MXComponent: Max34Text
            description: |
              Unique identification of an account, as assigned by the account servicer, using an identification scheme.

              Specifies a character string with a maximum length of 34 characters.
            type: string
            minLength: 1
            maxLength: 34
        required:
        - other
    AdditionalStatusInformation1Choice:
      x-MXComponent: AdditionalStatusInformation1Choice
      type: object
      description: Further details on the status reason.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          amendment_response:
            #  Response to a proposed amendment of the undertaking.
            $ref: '#/components/schemas/AmendmentResponseInformation1'
        required:
        - amendment_response
      - type: object
        additionalProperties: false
        properties:
          extend_or_pay_response:
            #  Response to a Extend or Pay Request.
            $ref: '#/components/schemas/DemandResponseInformation2'
        required:
        - extend_or_pay_response
      - type: object
        additionalProperties: false
        properties:
          demand_refusal:
            #  Filled in by the party obligated on the undertaking and to whom a demand for payment has been made, either directly or via one or more advising parties. It informs the beneficiary or presenter that the demand has been refused.
            $ref: '#/components/schemas/DemandRefusal2'
    AmendmentResponseInformation1:
      x-MXComponent: AmendmentResponseInformation1
      type: object
      description: Detailed information of the response to an amendment request.
      additionalProperties: false
      properties:
        amendment_request_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique and unambiguous identifier assigned by the applicant to the undertaking amendment request.

            MT Mapping: field 21A of MT 798

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        amendment_sequence_number:
          x-MXComponent: Max3NumericText
          description: |
            Sequence number assigned by the Applicant to each proposed Amendment of the Undertaking.


            MT Mapping: field 26E

            Specifies a numeric string with a maximum length of 3 digits.
          type: string
          pattern: ^[0-9]{1,3}$
        amendment_request_date:
          x-MXComponent: ISODate
          description: |
            Date of the undertaking amendment request.

            MT Mapping: field 13E

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        amendment_response:
          x-MXComponent: UndertakingStatus2Code
          description: |
            Response to an Amendment request - filled in by the beneficiary.

            MT Mapping: field 23R


            Specifies the undertaking amendment status.

            Code Name Definition:
            *`ACCP` - Accepted - Accepted.
            *`REJT` - Rejected - Rejected.
          type: string
          enum:
          - ACCP
          - REJT
        amendment_response_date:
          x-MXComponent: ISODate
          description: |
            Date of the Beneficiary's response to the undertaking amendment request- filled in by the beneficiary.

            MT Mapping: field 13E of MT 798

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        amendment_response_information:
          x-MXComponent: Max10000Text
          description: |
            Information about the beneficiary's response to an Amendment request
            Note: this is provided by the beneficiary.

            Specifies a character string with a maximum length of 10000 characters.
          type: string
          minLength: 1
          maxLength: 10000
      required:
      - amendment_request_identification
      - amendment_sequence_number
      - amendment_response
    Amount1Choice:
      x-MXComponent: Amount1Choice
      type: object
      description: Choice of amounts.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          increase_amount:
            x-MXComponent: ActiveCurrencyAndAmount
            description: |
              Amount of increase, and currency.

              A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
            type: object
            additionalProperties: false
            properties:
              currency:
                x-MXComponent: ActiveCurrencyCode
                type: string
                pattern: ^[A-Z]{3,3}$
              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
        required:
        - increase_amount
      - type: object
        additionalProperties: false
        properties:
          decrease_amount:
            x-MXComponent: ActiveCurrencyAndAmount
            description: |
              Amount of decrease, and currency.

              A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
            type: object
            additionalProperties: false
            properties:
              currency:
                x-MXComponent: ActiveCurrencyCode
                type: string
                pattern: ^[A-Z]{3,3}$
              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
        required:
        - decrease_amount
    AutoExtend1Choice:
      x-MXComponent: AutoExtend1Choice
      type: object
      description: Choice of format for the auto extend period.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          days:
            x-MXComponent: Number
            description: |
              Number of days.

              Number of objects represented as an integer.
            type: string
            maxLength: 19
        required:
        - days
      - type: object
        additionalProperties: false
        properties:
          months:
            x-MXComponent: Number
            description: |
              Number of months.

              Number of objects represented as an integer.
            type: string
            maxLength: 19
        required:
        - months
      - type: object
        additionalProperties: false
        properties:
          years:
            x-MXComponent: Number
            description: |
              Number of years.

              Number of objects represented as an integer.
            type: string
            maxLength: 19
        required:
        - years
      - type: object
        additionalProperties: false
        properties:
          date:
            x-MXComponent: ISODate
            description: |
              Auto extension end date.

              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.
            type: string
            pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        required:
        - date
    BankGuaranteeAmendment2Subset:
      x-MXComponent: BankGuaranteeAmendment2Subset
      type: object
      description: Details of the bank guarantee amendment.
      additionalProperties: false
      properties:
        amendment_request_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique and unambiguous identifier assigned by the applicant to the Undertaking amendment request.

            MT Mapping: field 21A of MT 798

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        amendment_platform_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Unique technical reference assigned by the platform.


            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        amendment_sequence_number:
          x-MXComponent: Max3NumericText
          description: |
            Sequence number assigned by the Applicant to each proposed Amendment of the Undertaking.


            MT Mapping: field 26E

            Specifies a numeric string with a maximum length of 3 digits.
          type: string
          pattern: ^[0-9]{1,3}$
        amendment_request_date:
          x-MXComponent: ISODate
          description: |
            Date of the Undertaking amendment request.

            MT Mapping: field 13E

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        amendment_date:
          x-MXComponent: ISODate
          description: |
            Date on which the amendment is effective.

            MT Mapping: field 30

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        undertaking_amendment_instruction_purpose:
          x-MXComponent: AmendmentPurpose1Code
          description: |
            Specifies the purpose of this instruction.

            MT Mapping: 22A

            Specifies whether the amendment is to be made to issued counter, counter-counter or local undertaking.

            Code Name Definition:
            *`ICCA` - AmendmentToIssuedCounterCounterUndertaking - Request issuance of amendment to issued counter counter-undertaking and/or request to issue amendment to counter-undertaking and local undertaking.
            *`ISCA` - AmendmentToIssuedCounterUndertaking - Request issuance of amendment to issued counter-undertaking and/or request to issue amendment to local undertaking.
            *`ISUA` - AmendmentToIssuedUndertaking - Request issuance of amendment to issued undertaking.
          type: string
          enum:
          - ICCA
          - ISCA
          - ISUA
        amendment_impact:
          type: array
          description: |
            Proposed amendment(s) to the undertaking in a codified form.

            Amendment to a trade finance undertaking in a codified form.

            Code Name Definition:
            *`CTHR` - CounterUndertakingOtherAmendments - Any other amendments made to the undertaking.
            *`CUAD` - CounterUndertakingAmountDecrease - Indication of the amount of decrease to the undertaking amount.
            *`CUAI` - CounterUndertakingAmountIncrease - Indication of the amount of increase to the undertaking amount.
            *`CUDX` - CounterUndertakingExpiryDate - Specifies the new date when the undertaking will cease to be available.
            *`CUNB` - CounterUndertakingNewBeneficiary - Requested new beneficiary of the undertaking.
            *`CUTC` - CounterUndertakingTermsAndCondition - Requested new terms and conditions of the undertaking.
            *`CUXC` - CounterUndertakingNewExpiryCondition - Specifies the amended documentary condition that indicates when the undertaking will cease to be available.
            *`LTHR` - LocalUndertakingOtherAmendments - Any other amendments made to the local undertaking.
            *`LUAD` - LocalUndertakingAmountDecrease - Indication of the amount of decrease to the local undertaking amount.
            *`LUAI` - LocalUndertakingAmountIncrease - Indication of the amount of increase to the local undertaking amount.
            *`LUDX` - LocalUndertakingExpiryDate - Specifies the new date when the local undertaking will cease to be available.
            *`LUNB` - LocalUndertakingNewBeneficiary - Requested new beneficiary of the local undertaking.
            *`LUTC` - LocalUndertakingTermsAndCondition - Requested new terms and conditions of the local undertaking.
            *`LUXC` - LocalUndertakingNewExpiryCondition - Specifies the amended documentary condition that indicates when the local undertaking will cease to be available.
          items:
            x-MXComponent: AmendmentImpact1Code
            type: string
            enum:
            - CTHR
            - CUAD
            - CUAI
            - CUDX
            - CUNB
            - CUTC
            - CUXC
            - LTHR
            - LUAD
            - LUAI
            - LUDX
            - LUNB
            - LUTC
            - LUXC
        undertaking_termination_request:
          x-MXComponent: YesNoIndicator
          description: |
            Specifies that the instrument is requested to be cancelled.

            MT Mapping: 23S

            Indicates a "Yes" or "No" type of answer for an element.
          type: boolean
        undertaking_increase_decrease_amount:
          description: |
            Indication of the amount of increase or decrease to the undertaking amount.
            Choice of amounts.

            MT Mapping: field 32B/33B in SeqC
          $ref: '#/components/schemas/Amount1Choice'
        new_undertaking_terms_and_conditions:
          type: array
          maxItems: 8
          description: |
            Specifies changes to the terms and conditions of the Undertaking (excluding information already expressed in other fields or other associated messages).

            MT Mapping: field 77U

            Specifies a character string with a maximum length of 9750 characters.
          items:
            x-MXComponent: Max9750Text
            type: string
            minLength: 1
            maxLength: 9750
        counter_undertaking_increase_decrease_amount:
          description: |
            Amount of increase, and currency.

            MT Mapping: field 32B/33B in SeqB
          $ref: '#/components/schemas/Amount1Choice'
        new_counter_undertaking_terms_and_condition:
          x-MXComponent: Max9750Text
          description: |
            Specifies changes to the terms and conditions of the local Undertaking (excluding information already expressed in other fields or other associated messages).

            MT Mapping: field 77L in SeqC

            Specifies a character string with a maximum length of 9750 characters.
          type: string
          minLength: 1
          maxLength: 9750
        delivery_channel_method:
          x-MXComponent: Max4Text
          description: "Method by which the proposed amendment is to be made available.\n\n\"\nCode\"\t\"\nName\"\nCOUR - Courier\nEMAL - Email\nFAXI - Fax\nMESS - Messenger\nOTHR - Other\nPOST - Post\nREGM - RegisteredMail\nSEMA - SecureEmail\nSWFA - SWIFTNetFileAct\nSWIA - SWIFTNetInterAct\nSWMT - SWIFTMT\nSWMX - SWIFTMX\nTELE - Telecommunication\nWEBM - WebUploadDownload\n\n\nMT Mapping: field 24E in sequence B and C\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        deliver_to_party_type:
          x-MXComponent: Max4Text
          description: "Type of party to whom the proposed amendment is intended to be delivered.\n\nType of party can be either \n- a code from the list published on ISO20022.org as part of external code sets\nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"\nCode\"\t\"\nName\"\nADVP - AdvisingParty\nANYB - AnyBank\nAPPL - Applicant\nBENE - Beneficiary\nCONF - ConfirmationParty\nCUB2 - SecondCounterUndertakingBeneficiary\nCUB3 - ThirdCounterUndertakingBeneficiary\nISSU - Issuer\nOBLG - Obligor\nORDR - OrderingParty\nPRES - PresentingParty\nSADV - SecondAdvisingParty\nSPEC - SpecifiedAddress\n\n\nMT Mapping: field 24G\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        deliver_to_name:
          x-MXComponent: RestrictedFINXMax140Text
          description: |
            Name of party to whom the proposed amendment is intended to be delivered.

            MT Mapping: field 24G

            Specifies a character string with a maximum length of 140 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          type: string
          minLength: 1
          maxLength: 140
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.\n\r,'\+ ]{1,140}$
        deliver_to_address:
          type: array
          maxItems: 3
          description: |
            Address of party to whom the original undertaking or proposed amendment is intended to be delivered.

            MT Mapping: field 24G

            Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          items:
            x-MXComponent: RestrictedFINXMax35Text
            type: string
            minLength: 1
            maxLength: 35
            pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,35}$
        deliver_to_tracking_reference:
          x-MXComponent: Max35Text
          description: |
            Unique tracking reference used by the delivery method, for example courier tracking reference, FileAct reference, etc.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        additional_deliver_to_details:
          x-MXComponent: RestrictedFINMax35Text
          description: "Additional information related to 'Deliver to' information.\n\nUsage Guideline: This field can additionally be used to identify the format and channel when the format and channel code is 'OTHR'. Recommend to structure the information as follows (example):\n\nWhen Format is Other - //OTHR//JPEG \nWhen Channel is Other - //OTHR//HOST\nWhen both Format and Channel is Other - //OTHR//JPEG//OTHR//HOST\n\nSpecifies a character string with a maximum length of 35 characters. It has a pattern ([^/]+/)+([^/]+)|([^/]*) that disables the use of slash \"/\" at the beginning and end of line and double slash \"//\" within the line.\n"
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^([^/]+/)+([^/]+)|([^/]*)$
        reduction_release:
          #  Information exchanged between the applicant and the party that issued the Undertaking to request or to give notification of the reduction or release of the referenced Undertaking.
          $ref: '#/components/schemas/ReductionReleaseNotice4Subset'
        supporting_document:
          type: array
          description: |
            Document related to the undertaking which is already issued and is being amended or released/reduced.


            MT Mapping: field 23X
          items:
            $ref: '#/components/schemas/Document18'
        additional_information:
          x-MXComponent: Max210Text
          description: |
            Additional information related to the amendment or release/reduction of the undertaking.


            MT Mapping: field 72Z

            Specifies a character string with a maximum length of 210 characters.
          type: string
          minLength: 1
          maxLength: 210
      required:
        - amendment_request_identification
        - amendment_sequence_number
    CashAccount208:
      x-MXComponent: CashAccount208
      type: object
      description: Set of elements used to identify an account.
      additionalProperties: false
      properties:
        identification:
          #  Unique and unambiguous identification for the account between the account owner and the account servicer.
          $ref: '#/components/schemas/AccountIdentification68Choice'
        currency:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Identification of the currency in which the account is held.

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        party:
          type: array
          maxItems: 2
          description: "Party can be only Owner or repeated for Owner and Servicer. \n\nOwner is the party that legally owns the account. For example, the Beneficiary.\n\nServicer is the party that services the account: manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\n\nUsage: At least Owner must be present.\n"
          items:
            $ref: '#/components/schemas/PartyIdentification277'
      required:
      - identification
      - party
    Charge30:
      x-MXComponent: Charge30
      type: object
      description: Charges applied.
      additionalProperties: false
      properties:
        charge_type:
          x-MXComponent: Max8Text
          description: "Contains information about the type of charges. One or more of the following codes may be used - \n\nCode - Definition\nAGENT - Agent's Commission\nCOMM - Our Commission\nCORCOM - Our Correspondent's Commission\nDISC - Commercial Discount\nINSUR - Insurance Premium\nPOST - Our Postage\nSTAMP - Stamp Duty\nTELECHAR - Teletransmission Charges\nWAREHOUS - Wharfing and Warehouse\n\nMT Mapping - field 71D\n\nSpecifies a character string with a maximum length of 8 characters.\n"
          type: string
          minLength: 1
          maxLength: 8
        charges_payable_by:
          x-MXComponent: Max4Text
          description: "Indicates the party who is responsible for payment of the charges.\n\n\"\nCode\"\t\"\nName\"\nADVP - AdvisingParty\nANYB - AnyBank\nAPPL - Applicant\nBENE - Beneficiary\nCONF - ConfirmationParty\nCUB2 - SecondCounterUndertakingBeneficiary\nCUB3 - ThirdCounterUndertakingBeneficiary\nISSU - Issuer\nOBLG - Obligor\nORDR - OrderingParty\nPRES - PresentingParty\nSADV - SecondAdvisingParty\nSPEC - SpecifiedAddress\n\nIf code is different from the above code list, then a bilaterally agreed code may be used.\n\nMT Mapping: field 71D\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        charges_account:
          description: |
            Unique and unambiguous identification for the charges account.

            MT Mapping: field 25A of MT 798
          $ref: '#/components/schemas/AccountIdentification68Choice'
        charge_amount:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Contains information about the charge amount associated with the undertaking.

            MT Mapping: field 71D

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
    GuaranteePaymentDemand:
      x-MXComponent: Demand7Subset
      type: object
      description: Details of the demand.
      additionalProperties: false
      properties:
        demand_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Unique technical identification of the demand, as defined by the beneficiary's server.

            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          readOnly: true
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        undertaking_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Business identification of the Undertaking. Filled in by the bank after issuance of the Undertaking, stays unique throughout the lifecycle of the Undertaking.

            MT Mapping: field 20

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        demand_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique and unambiguous identifier assigned by the presenting party to the demand.

            MT Mapping: field 20

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        demand_platform_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Unique technical reference assigned by the platform.


            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        advising_party_reference_number:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique and unambiguous identifier assigned by the advising party to the Undertaking.

            MT Mapping: field 21

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        beneficiary_reference_number:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique and unambiguous identifier assigned by the beneficiary to the Undertaking.

            MT Mapping: field 23

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        demand_type:
          x-MXComponent: UndertakingDemandType1Code
          description: |
            Type of demand.

            MT Mapping: field 22G

            Specifies the type of demand for payment of a trade undertaking.

            Code Name Definition:
            *`PAEX` - PayOrExtend - Pay or extend.
            *`PAYM` - PayOnly - Pay only.
            *`WITH` - DemandWithdrawn - Demand has been withdrawn.
          type: string
          enum:
          - PAEX
          - PAYM
          - WITH
        demand_submission_date:
          x-MXComponent: ISODate
          description: |
            Date at which the demand is submitted.

            MT Mapping: field 31L

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        demand_amount:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Amount and currency of the demand.

            MT Mapping: field 32B

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        demand_amount_additional_information:
          x-MXComponent: Max780Text
          description: |
            Additional information concerning the demand amount.

            MT Mapping: field 78

            Specifies a character string with a maximum length of 780 characters.
          type: string
          minLength: 1
          maxLength: 780
        party:
          type: array
          description: "Parties specified in the undertaking or related to the Undertaking. \nThe type of Party is specified in the first element, Type.\n\nUsage Rule: MANDATORY to include one iteration each of Party for \n1. Beneficiary\n2. Advising/nominated/confirming bank\n3. Applicant \n4. Issuing bank\noptionally for other parties.\n\nMT Mapping: 52a, 59a, 56a, 57a\n"
          items:
            $ref: '#/components/schemas/PartyIdentification281'
        requested_expiry_date:
          x-MXComponent: ISODate
          description: |
            Requested new expiry date as an alternative to payment of the demand.

            Rule: Requested expiry date must be present when demand type is Pay or Extend.


            MT Mapping: field 31E

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        complete_demand:
          x-MXComponent: YesNoIndicator
          description: |
            Indication as to whether the presentation is complete.

            MT Mapping: field 49A
            Yes means Complete Demand (COMP), no other documentation to accompany or follow this message.
            No means Incomplete Demand (INCP), supporting documentation to be presented separately.

            Indicates a "Yes" or "No" type of answer for an element.
          type: boolean
        completion_information:
          x-MXComponent: Max3250Text
          description: |
            Information related to an incomplete presentation.

            MT Mapping: field 49A

            Specifies a character string with a maximum length of 3250 characters.
          type: string
          minLength: 1
          maxLength: 3250
        presentation_completion_data:
          x-MXComponent: Max700Text
          description: |
            Specifies information about the presentation documentation. If the presentation is incomplete, this must specify how the presentation will be completed.

            MT Mapping: field 77

            Specifies a character string with a maximum length of 700characters.
          type: string
          minLength: 1
          maxLength: 700
        charges_reason:
          x-MXComponent: ChargesReasonType1Code
          description: |
            Specifies the reason for the message.

            MT 798: Field 12R (Code).

            Specifies the reason for the message.

            Code Name Definition:
            *`BOTH` - AdviceOfPaymentAndCommission - Advice of Payment and Commission and Charges.
            *`CHGS` - AdviceOfCommissionAndCharges - Advice of Commission and charges.
            *`PAYM` - AdviceOfPayment - Payment Advice.
          type: string
          enum:
          - BOTH
          - CHGS
          - PAYM
        charge_information:
          x-MXComponent: RestrictedFINXMax35Text
          description: |
            Information about whether the advice is for payment or commission or both.

            MT 798: Field 12R (Narrative).

            Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,35}$
        details_of_commission_and_charges:
          x-MXComponent: Max4Text
          description: "Specifies the details of the commissions and charges in a coded form.\n\nCODES:\nACGH = AUTOMATIC BOOKING OF CHARGES.\nPeriodical commission/charges, per quarter, or per month, etc.\nAMND = AMENDMENT CHARGES\nATER = ADJUSTMENT OF TERMS CHARGES\nAdjustment of commission rate (increase), adjustment of commission period, etc.\nCLOS = CLOSURE CHARGES. Special charges for cancelling the guarantee\nCORR = CORRECTION CHARGES. Adjustment of charges having been debited for wrong amount or even charge not applicable. May only be positive.\nINTC = INTEREST CHARGES \nISSU = ISSUANCE CHARGES\nOTHR = MISCELLANEOUS/OTHER CHARGES.\nManual booking of charges, etc. \nPOST = Postal charges\nREDN = REDUCTION CHARGES.\nCharges/commission related to reduction based on a reduction clause\nRELS = RELEASE CHARGES. cancel before expiry / open ended UNDK (liability release from beneficiary) - commission in arrears\nSTAMP = Stamp duty \nTAXES = Taxes\nTELECHAR = Telecommunication\n\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        charges_by:
          x-MXComponent: Max4Text
          description: |
            Information about whether charged by the bank sending the message or charged by another bank than the bank sending the message.

            Codes:

            BANK = charged by the bank sending the message.
            OTHR = charged by another bank than the bank sending the message.

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        settlement_account:
          type: array
          description: |
            Details related to the settlement account.

            MT Mapping: field 53C
          items:
            $ref: '#/components/schemas/CashAccount208'
        own_commission_and_charges:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Currency and amount of the own commission and charges, without any Guarantee / Standby LC commission.

            MT 798: Field 34M

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        counterparty_commission_and_charges:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Currency and amount of the counterparty commission and charges.

            MT 798: Field 34K

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        amount_claimed:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Currency and amount of the amount claimed.

            RULE: Must be present if Chares Reason is PAYM or BOTH.

            MT 798: Field 34D

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        undertaking_commission_specification:
          x-MXComponent: UndertakingCommissionSpecification1Code
          description: |
            Specifies the amount of the Guarantee / Standby LC commission, if applicable.

            MT 798: Field 12S

            Specifies the amount of the Guarantee / Standby LC commission.

            Code Name Definition:
            *`FLAT` - FlatAmount - Flat amount.
            *`MAXI` - MaximumAmount - Maximum Amount
            *`MINI` - MinimumAmount - Minimum Amount
          type: string
          enum:
          - FLAT
          - MAXI
          - MINI
        exchange_rate:
          x-MXComponent: BaseOneRate
          description: |
            Specifies the exchange rate used to convert a foreign currency.

            Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%.
          type: string
          maxLength: 12
        local_currency_countervalue:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Specifies the countervalue of the converted foreign currency in local currency.

            MT 798: Field 34X

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        total_amount_to_settlement_account:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Currency and total amount that is debited or credited to the settlement account.

            MT 798: 34V

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        value_date:
          x-MXComponent: ISODate
          description: |
            Specifies the value date.

            MT 798: Field 30

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        debit_undertaking_commission:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Currency and amount of the Guarantee / Standby LC commission which will be debited.

            MT 798: Field 34S

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        total_amount_claimed:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Indicates currency and total amount claimed. Total amount is calculated from amount of the counterparty commission and charges plus the amount claimed.

            MT 798: Field 34L

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        extend_or_pay_text:
          x-MXComponent: Max3250Text
          description: |
            Contains the text of the request to extend or pay.

            MT Mapping: field 49J of MT 798

            Specifies a character string with a maximum length of 3250 characters.
          type: string
          minLength: 1
          maxLength: 3250
        instructions_from_bank:
          x-MXComponent: Max210Text
          description: |
            Instructions received from bank.

            MT Mapping: field 72Z

            Specifies a character string with a maximum length of 210 characters.
          type: string
          minLength: 1
          maxLength: 210
        documentation:
          type: array
          description: |
            Document(s) presented for examination.

            MT Mapping: field 23X
          items:
            $ref: '#/components/schemas/Document18'
      required:
        - demand_reference
        - demand_identification
        - demand_type
        - demand_submission_date
        - demand_amount
        - party
        - complete_demand
    DemandRefusal2:
      x-MXComponent: DemandRefusal2
      type: object
      description: Information about the refusal of a demand.
      additionalProperties: false
      properties:
        demand_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique and unambiguous identifier assigned by the presenting party to the demand.

            MT Mapping: field 20

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        status:
          x-MXComponent: Exact7Text
          description: |
            Explicit indication of 'REFUSED' as the processing status reported by the issuer.

            Specifies a character string with an exact length of 7 characters.
          type: string
          minLength: 7
          maxLength: 7
        reason:
          type: array
          description: |
            Reason for refusal.

            MT Mapping: field 77J

            Specifies a character string with a maximum length of 3500 characters.
          items:
            x-MXComponent: Max3500Text
            type: string
            minLength: 1
            maxLength: 3500
        disposition_of_documents:
          x-MXComponent: Max105Text
          description: |
            Indication of how the demand presentation documents will be handled as a consequence of the demand refusal.

            MT Mapping: field 77B

            Specifies a character string with a maximum length of 105 characters.
          type: string
          minLength: 1
          maxLength: 105
        additional_information:
          x-MXComponent: Max210Text
          description: |
            Additional information related to the notification.

            MT Mapping: field 72Z

            Specifies a character string with a maximum length of 210 characters.
          type: string
          minLength: 1
          maxLength: 210
      required:
      - demand_identification
      - status
    DemandResponseInformation2:
      x-MXComponent: DemandResponseInformation2
      type: object
      description: Detailed information of the response to a demand.
      additionalProperties: false
      properties:
        demand_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique and unambiguous identifier assigned by the presenting party to the demand.

            MT Mapping: field 20

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        extend_or_pay_status_response:
          x-MXComponent: DemandStatus1Code
          description: |
            Filled in by the party that requested issuance of the undertaking (applicant or obligor) to the party that issued the undertaking, in response to the issuer's request for the applicant's response to the beneficiary’s request to extend or pay.


            MT Mapping: field 12D

            Specifies the status of the demand for payment.

            Code Name Definition:
            *`EXTD` - Extend - Extend undertaking expiry date.
            *`PAYD` - PAY - Pay undertaking demand.
          type: string
          enum:
          - EXTD
          - PAYD
      required:
      - demand_identification
    Document13Subset:
      x-MXComponent: Document13Subset
      type: object
      description: Information about a document.
      additionalProperties: false
      properties:
        wording:
          x-MXComponent: Max6500Text
          description: |
            Wording for document.

            MT Mapping: Field 12H

            Specifies a character string with a maximum length of 6500 characters.
          type: string
          minLength: 1
          maxLength: 6500
        electronic_details:
          type: array
          description: Details related to an electronic presentation.
          items:
            $ref: '#/components/schemas/Presentation5'
        file_name:
          x-MXComponent: Max140Text
          description: |
            Technical name of the file.

            MT Mapping: field 23X

            Specifies a character string with a maximum length of 140 characters.
          type: string
          minLength: 1
          maxLength: 140
    Document18:
      x-MXComponent: Document18
      type: object
      description: Information about a document.
      additionalProperties: false
      properties:
        undertaking_document_type:
          x-MXComponent: Max4Text
          description: "Type of document or template.\n\n\"\nCode\"\t\"\nName\"\nBENS - Beneficiary Statement\nCINV - Commercial Invoice\nCLAF - Claim Form\nDEMD - Demand\nECID - E-stamp Certificate\nTRAF - Transfer Form\nOTHR - Other\n\nOr any other bilaterally agreed code.\n\nMT Mapping: field 23X\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        undertaking_document_identification:
          x-MXComponent: Max35Text
          description: |
            Identification of the document or template.

            MT Mapping: field 23X

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        undertaking_document_format:
          x-MXComponent: Max4Text
          description: "Format of the document or template, such as PDF, XML, XSLT.\n\n\"\nCode\"\t\"\nName\"\nDPDF - PDF\nDXML - XML\nSDSH - Spreadsheet\nWORD - Word\nXSLT - XSLT\n\nOr any other bilaterally agreed code.\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        file_name:
          x-MXComponent: Max140Text
          description: |
            Technical name of the file.

            MT Mapping: field 23X

            Specifies a character string with a maximum length of 140 characters.
          type: string
          minLength: 1
          maxLength: 140
        issue_date:
          x-MXComponent: ISODate
          description: |
            Issue date of the document.

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        linked_url_address:
          x-MXComponent: Max256Text
          description: |
            Address for the Universal Resource Locator (URL), for example used over the www (HTTP) service.

            Specifies a character string with a maximum length of 256 characters.
          type: string
          minLength: 1
          maxLength: 256
        digital_signature:
          #  Digital signature of the linked binary file.
          $ref: '#/components/schemas/PartyAndSignature6'
        additional_details:
          x-MXComponent: RestrictedFINMax35Text
          description: |
            Additional details about delivery.

            Usage Guideline: This field can additionally be used to identify the document type when the type is 'OTHR'.

            Specifies a character string with a maximum length of 35 characters. It has a pattern ([^/]+/)+([^/]+)|([^/]*) that disables the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^([^/]+/)+([^/]+)|([^/]*)$
      required:
      - undertaking_document_type
      - undertaking_document_identification
    Location3Subset:
      x-MXComponent: Location3Subset
      type: object
      description: Location information.
      additionalProperties: false
      properties:
        country:
          x-MXComponent: CountryCode
          description: |
            Country of jurisdiction.

            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).
          type: string
          pattern: ^[A-Z]{2,2}$
        narrative:
          x-MXComponent: Max65Text
          description: |
            Name of jurisdiction, for example, Frankfurt.

            Specifies a character string with a maximum length of 65 characters.
          type: string
          minLength: 1
          maxLength: 65
    PartyAndSignature6:
      x-MXComponent: PartyAndSignature6
      type: object
      description: Entity involved in an activity.
      additionalProperties: false
      properties:
        name:
          x-MXComponent: RestrictedFINXMax140Text
          description: |
            Name by which a party is known and which is usually used to identify that party.

            Specifies a character string with a maximum length of 140 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          type: string
          minLength: 1
          maxLength: 140
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.\n\r,'\+ ]{1,140}$
        digital_signature:
          x-MXComponent: Max2048Text
          description: |
            Digital signature of the linked binary file.

            Specifies a character string with a maximum length of 2048 characters.
          type: string
          minLength: 1
          maxLength: 2048
      required:
      - name
      - digital_signature
    PartyIdentification277:
      x-MXComponent: PartyIdentification277
      type: object
      description: Set of elements used to identify a person or an organisation.
      additionalProperties: false
      properties:
        type:
          x-MXComponent: Max4Text
          description: "Type of Party can be either \n- a code from the list published on ISO20022.org as part of external code sets\nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"Code\" \"Name\"  \"Definition\"\n\nADVP - AdvisingParty - Party advising the undertaking.\n\nANYB - AnyBank - Any bank.\n\nAPPL - Applicant - Party named in the undertaking as the “applicant”. \n\nBENE - Beneficiary - Party in whose favour the undertaking (or counter-undertaking) is issued.\n\nCONF - ConfirmationParty - Party that adds its undertaking to honour the undertaking.\n\nCUB2 - SecondCounterUndertakingBeneficiary - Beneficiary of the second counter-undertaking.\n\nCUB3 - ThirdCounterUndertakingBeneficiary - Beneficiary of the third counter-undertaking.\n\nISSU - Issuer - Party that issues the undertaking (or counter-undertaking). \n\nOBLG - Obligor - Party obligated to reimburse the issuer. \nOTHR - Other - Party not part of the list of codes.\n\nORDR - OrderingParty - Party requested to issue an undertaking on behalf of the applicant. Also known as the ordering institution or applicant's bank.\n\nPRES - PresentingParty - Party nominated to receive presentation. \n\nSADV - SecondAdvisingParty - Second advising party.\n\nSPEC - SpecifiedAddress - Party located at specified address.\n\nMT Mapping: Party fields like 50, 51, 52a, 59a, 56a, 57a\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        identification:
          x-MXComponent: Max35Text
          description: |
            Unique and unambiguous identifier assigned by the party.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        issuer:
          x-MXComponent: Max35Text
          description: |
            Entity that assigns the identification.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        any_bic:
          x-MXComponent: AnyBICDec2014Identifier
          description: |
            Code allocated to a financial institution or non financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)".

            MT Mapping: Party identification from fields 50, 51, 52a, 59a, 56a, 57a.

            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}$
        lei:
          x-MXComponent: LEIIdentifier
          description: |
            Legal entity identifier 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}$
        name:
          x-MXComponent: Max35Text
          description: |
            Name by which a party is known and which is usually used to identify that party.


            RULE: If *any_bic* is absent then Name is mandatory and it is recommended to also provide the Postal Address.

            RULE: If Postal Address is present then Name is mandatory.

            MT Mapping: Name from fields 50, 51, 52a, 59a, 56a, 57a.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        address_line:
          type: array
          maxItems: 3
          description: |
            Information that locates and identifies a specific address, as defined by postal services, presented in free format text.


            It is recommended to use dedicated elements like TownName, CountrySubDivision, PostCode, Country etc. as much as possible.

            MT Mapping: Address from fields 50, 51, 52a, 59a, 56a, 57a.

            Specifies a character string with a maximum length of 35 characters.
          items:
            x-MXComponent: Max35Text
            type: string
            minLength: 1
            maxLength: 35
        country:
          x-MXComponent: CountryCode
          description: |
            Nation with its own government.

            MT Mapping: Country from fields 50, 51, 52a, 59a, 56a, 57a.

            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).
          type: string
          pattern: ^[A-Z]{2,2}$
        contact_name:
          x-MXComponent: Max35Text
          description: |
            Name by which a party is known and which is usually used to identify that party.
            Part of a set of elements used to indicate how to contact the party.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        contact_phone_number:
          x-MXComponent: PhoneNumber
          description: |
            Collection of information that identifies a phone number, as defined by telecom services.
            Part of a set of elements used to indicate how to contact the party.

            Mapping: In case of Applicant communicating with Issuer/Applicant's bank, this field can be mapped to field 29A/B of MT 798.
            In case of Beneficiary communicating with advising/nominated/confirming bank, this field can be mapped to field 29D of MT 798.

            The collection of information which identifies a specific phone or FAX number as defined by telecom services.
            It consists of a "+" followed by the country code (from 1 to 3 characters) then a "-" and finally, any combination of numbers, "(", ")", "+" and "-" (up to 30 characters).
          type: string
          pattern: ^\+[0-9]{1,3}-[0-9()+\-]{1,30}$
        contact_email_address:
          x-MXComponent: Max256Text
          description: |
            Address for electronic mail (e-mail).
            Part of a set of elements used to indicate how to contact the party.

            Specifies a character string with a maximum length of 256 characters.
          type: string
          minLength: 1
          maxLength: 256
        additional_details:
          type: array
          maxItems: 5
          description: |
            Additional details of the party.

            Usage Guideline: This field can additionally be used to identify the party when the party type is 'OTHR'.

            Specifies a character string with a maximum length of 2000 characters.
          items:
            x-MXComponent: Max2000Text
            type: string
            minLength: 1
            maxLength: 2000
      required:
      - type
    PartyIdentification281:
      x-MXComponent: PartyIdentification281
      type: object
      description: Set of elements used to identify a person or an organisation.
      additionalProperties: false
      properties:
        type:
          x-MXComponent: Max4Text
          description: "Type of Party can be either \n- a code from the list published on ISO20022.org as part of external code sets\nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"Code\" \"Name\"  \"Definition\"\n\nADVP - AdvisingParty - Party advising the undertaking.\n\nANYB - AnyBank - Any bank.\n\nAPPL - Applicant - Party named in the undertaking as the “applicant”. \n\nBENE - Beneficiary - Party in whose favour the undertaking (or counter-undertaking) is issued.\n\nCONF - ConfirmationParty - Party that adds its undertaking to honour the undertaking.\n\nCUB2 - SecondCounterUndertakingBeneficiary - Beneficiary of the second counter-undertaking.\n\nCUB3 - ThirdCounterUndertakingBeneficiary - Beneficiary of the third counter-undertaking.\n\nISSU - Issuer - Party that issues the undertaking (or counter-undertaking). \n\nOBLG - Obligor - Party obligated to reimburse the issuer. \nOTHR - Other - Party not part of the list of codes.\n\nORDR - OrderingParty - Party requested to issue an undertaking on behalf of the applicant. Also known as the ordering institution or applicant's bank.\n\nPRES - PresentingParty - Party nominated to receive presentation. \n\nSADV - SecondAdvisingParty - Second advising party.\n\nSPEC - SpecifiedAddress - Party located at specified address.\n\nMT Mapping: Party fields like 50, 51, 52a, 59a, 56a, 57a.\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        identification:
          x-MXComponent: Max35Text
          description: |
            Unique and unambiguous identifier assigned by the party.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        issuer:
          x-MXComponent: Max35Text
          description: |
            Entity that assigns the identification.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        any_bic:
          x-MXComponent: AnyBICDec2014Identifier
          description: |
            Code allocated to a financial institution or non financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)".

            MT Mapping: Party identification from fields 50, 51, 52a, 59a, 56a, 57a.

            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}$
        lei:
          x-MXComponent: LEIIdentifier
          description: |
            Legal entity identifier 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}$
        name:
          x-MXComponent: RestrictedFINXMax35Text
          description: |
            Name by which a party is known and which is usually used to identify that party.


            RULE: If *any_bic* is absent then Name is mandatory and it is recommended to also provide the Postal Address.

            RULE: If Postal Address is present then Name is mandatory.

            MT Mapping: Name from fields 50, 51, 52a, 59a, 56a, 57a.

            Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,35}$
        address_line:
          type: array
          maxItems: 3
          description: |
            Information that locates and identifies a specific address, as defined by postal services, presented in free format text.


            It is recommended to use dedicated elements like TownName, CountrySubDivision, PostCode, Country etc. as much as possible.

            MT Mapping: Address from fields 50, 51, 52a, 59a, 56a, 57a.

            Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          items:
            x-MXComponent: RestrictedFINXMax35Text
            type: string
            minLength: 1
            maxLength: 35
            pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,35}$
        country:
          x-MXComponent: CountryCode
          description: |
            Nation with its own government.

            MT Mapping: Country from fields 50, 51, 52a, 59a, 56a, 57a.

            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).
          type: string
          pattern: ^[A-Z]{2,2}$
        contact_name:
          x-MXComponent: RestrictedFINXMax35Text
          description: |
            Name by which a party is known and which is usually used to identify that party.
            Part of a set of elements used to indicate how to contact the party.

            Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,35}$
        contact_phone_number:
          x-MXComponent: PhoneNumber
          description: |
            Collection of information that identifies a phone number, as defined by telecom services.
            Part of a set of elements used to indicate how to contact the party.

            Mapping: In case of Applicant communicating with Issuer/Applicant's bank, this field can be mapped to field 29A/B of MT 798.
            In case of Beneficiary communicating with advising/nominated/confirming bank, this field can be mapped to field 29D of MT 798.

            The collection of information which identifies a specific phone or FAX number as defined by telecom services.
            It consists of a "+" followed by the country code (from 1 to 3 characters) then a "-" and finally, any combination of numbers, "(", ")", "+" and "-" (up to 30 characters).
          type: string
          pattern: ^\+[0-9]{1,3}-[0-9()+\-]{1,30}$
        contact_email_address:
          x-MXComponent: Max2048Text
          description: |
            Address for electronic mail (e-mail).
            Part of a set of elements used to indicate how to contact the party.

            Specifies a character string with a maximum length of 2048 characters.
          type: string
          minLength: 1
          maxLength: 2048
        additional_details:
          x-MXComponent: RestrictedFINMax35Text
          description: |
            Additional details of the party.

            Usage Guideline: This field can additionally be used to identify the party when the party type is 'OTHR'.

            Specifies a character string with a maximum length of 35 characters. It has a pattern ([^/]+/)+([^/]+)|([^/]*) that disables the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^([^/]+/)+([^/]+)|([^/]*)$
      required:
      - type
    PartyIdentification282:
      x-MXComponent: PartyIdentification282
      type: object
      description: Set of elements used to identify a person or an organisation.
      additionalProperties: false
      properties:
        any_bic:
          x-MXComponent: AnyBICDec2014Identifier
          description: |
            Code allocated to a financial institution or non financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)".

            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}$
        lei:
          x-MXComponent: LEIIdentifier
          description: |
            Legal entity identifier 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}$
        name:
          x-MXComponent: RestrictedFINXMax140Text
          description: |
            Name by which a party is known and which is usually used to identify that party.


            RULE: If *any_bic* is absent then Name is mandatory and it is recommended to also provide the Postal Address.

            RULE: If Postal Address is present then Name is mandatory.

            Specifies a character string with a maximum length of 140 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          type: string
          minLength: 1
          maxLength: 140
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.\n\r,'\+ ]{1,140}$
        address_line:
          type: array
          maxItems: 3
          description: |
            Information that locates and identifies a specific address, as defined by postal services, presented in free format text.


            It is recommended to use dedicated elements like TownName, CountrySubDivision, PostCode, Country etc. as much as possible.

            Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          items:
            x-MXComponent: RestrictedFINXMax35Text
            type: string
            minLength: 1
            maxLength: 35
            pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,35}$
        location:
          x-MXComponent: Max35Text
          type: string
          minLength: 1
          maxLength: 35
        country:
          x-MXComponent: CountryCode
          description: |
            Nation with its own government.

            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).
          type: string
          pattern: ^[A-Z]{2,2}$
    PlaceOfPresentation2:
      x-MXComponent: PlaceOfPresentation2
      type: object
      description: Location of a presentation.
      additionalProperties: false
      properties:
        place:
          x-MXComponent: Max4Text
          description: "Place of the presentation.\n\nPlace of the presentation can be either \n- a code from the list published on ISO20022.org as part of external code sets\nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"Code\" \"Name\"\t \"Definition\"\n\nADVP - AdvisingParty - Party advising the undertaking.\n\nANYB - AnyBank - Any bank.\n\nAPPL - Applicant - Party named in the undertaking as the “applicant”. \n\nBENE - Beneficiary - Party in whose favour the undertaking (or counter-undertaking) is issued.\n\nCONF - ConfirmationParty - Party that adds its undertaking to honour the undertaking.\n\nCUB2 - SecondCounterUndertakingBeneficiary - Beneficiary of the second counter-undertaking.\n\nCUB3 - ThirdCounterUndertakingBeneficiary - Beneficiary of the third counter-undertaking.\n\nISSU - Issuer - Party that issues the undertaking (or counter-undertaking). \n\nOBLG - Obligor - Party obligated to reimburse the issuer. \n\nORDR - OrderingParty - Party requested to issue an undertaking on behalf of the applicant. Also known as the ordering institution or applicant's bank.\n\nPRES - PresentingParty - Party nominated to receive presentation. \n\nSADV - SecondAdvisingParty - Second advising party.\n\nSPEC - SpecifiedAddress - Party located at specified address.\n\nUsage Rule: If PlaceOfPresentation is \"ANYB\", Country must be present.\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        country:
          x-MXComponent: CountryCode
          description: |
            Country where a presentation is to be made.

            Usage Rule: If PlaceOfPresentation is "ANYB", Country must be present.

            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).
          type: string
          pattern: ^[A-Z]{2,2}$
      required:
      - place
    PlaceOrUnderConfirmationChoice2:
      x-MXComponent: PlaceOrUnderConfirmationChoice2
      type: object
      description: Choice between a location and codified form.
      additionalProperties: true
      oneOf:
      - type: object
        additionalProperties: false
        properties:
          place_of_presentation:
            description: |
              Party to which the presentation is to be made.

              MT Mapping: field 41a
            $ref: '#/components/schemas/PlaceOfPresentation2'
        required:
        - place_of_presentation
      - type: object
        additionalProperties: false
        properties:
          presentation_under_confirmation:
            x-MXComponent: PresentationParty1Code
            description: |
              Place of presentation when there is a confirmation.

              Specifies the party to receive the presentation.

              Code Name Definition:
              *`ETHR` - IssuerOrOtherNominatatedParty - Presentation made either to the issuer or other nominated party.
              *`EXCN` - ExclusiveConfirmer - Presentation made exclusively to the confirmer.
              *`EXIS` - ExclusiveIssuer - Presentation made exclusively to the issuer.
            type: string
            enum:
            - ETHR
            - EXCN
            - EXIS
        required:
        - presentation_under_confirmation
    Presentation5:
      x-MXComponent: Presentation5
      type: object
      description: Electronic presentation information.
      additionalProperties: false
      properties:
        format:
          x-MXComponent: Max4Text
          description: |
            Format for presentation documents that are submitted electronically.

            CODE - Format of document
            DPDF - PDF
            DXML - XML
            SDSH - Spreadsheet
            WORD - Word
            XSLT - XSLT
            OTHR - Other

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        channel:
          x-MXComponent: Max4Text
          description: "Channel through which presentation documents are submitted electronically, such as SWIFT, Web upload, or secure email.\n\n\"\nCode\"\t\"\nName\"\nCOUR - Courier\nEMAL - Email\nFAXI - Fax\nMESS - Messenger\nOTHR - Other\nPOST - Post\nREGM - RegisteredMail\nSEMA - SecureEmail\nSWFA - SWIFTNetFileAct\nSWIA - SWIFTNetInterAct\nSWMT - SWIFTMT\nSWMX - SWIFTMX\nTELE - Telecommunication\nWEBM - WebUploadDownload\n\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        address:
          x-MXComponent: Max256Text
          description: |
            Uniform Resource Identifier (URI), such as a web or an email address, specifying where the presentation can be addressed.

            Specifies a character string with a maximum length of 256 characters.
          type: string
          minLength: 1
          maxLength: 256
        additional_details:
          x-MXComponent: RestrictedFINMax35Text
          description: "Additional information related to 'Deliver to' information.\n\nUsage Guideline: This field can additionally be used to identify the format and channel when the format and channel code is 'OTHR'. \n\nRecommend to structure the information as follows (example):\nWhen Format is Other - //OTHR//JPEG \nWhen Channel is Other - //OTHR//HOST\nWhen both Format and Channel is Other - //OTHR//JPEG//OTHR//HOST\n\nSpecifies a character string with a maximum length of 35 characters. It has a pattern ([^/]+/)+([^/]+)|([^/]*) that disables the use of slash \"/\" at the beginning and end of line and double slash \"//\" within the line.\n"
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^([^/]+/)+([^/]+)|([^/]*)$
    ReductionReleaseNotice4Subset:
      x-MXComponent: ReductionReleaseNotice4Subset
      type: object
      description: Information about the notification of the reduction or release of an undertaking.
      additionalProperties: false
      properties:
        undertaking_release_reduction_date:
          x-MXComponent: ISODate
          description: |
            Specifies the date as of which the bank which has issued or requested the issuance of the Undertaking, that is, the Receiver, is released of all its liability under the specified Undertaking for the amount specified in 'Reduced or Released Amount' or 'Amount Information'.

            MT Mapping: field 30

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        undertaking_release_reduction_reason:
          x-MXComponent: Max4Text
          description: |
            Reason for the termination.

            Code Description
            REFU - Reduction Terms Fulfilled
            NOAC - Tender Non Acceptance
            BUFI - Underlying Business Finished
            WOEX - Warranty Obligation Period Expired

            - if code is different from the code list mentioned above, then a bilaterally agreed code may be used.


            MT Mapping: field 12F of MT 798

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        reduced_or_released_amount:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Currency and amount for which the corporate requests to be released of all its liability under the specified Undertaking.

            MT Mapping: field 33B

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        outstanding_amount:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Currency code and amount outstanding, when the liability under the specified Undertaking is not to be released in its entirety.

            MT Mapping: field 34B

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        amount_additional_information:
          x-MXComponent: Max140Text
          description: |
            Contains a description of the amount for which the bank which has issued or requested the issuance of the Undertaking is released of all its liability under the specified Undertaking.

            MT Mapping: field 39C

            Specifies a character string with a maximum length of 140 characters.
          type: string
          minLength: 1
          maxLength: 140
        account_with_bank:
          description: |
            Specifies the bank at which the Sender wishes to receive credit for charges claimed in field Amount of Charges.

            MT Mapping: field 57a
          $ref: '#/components/schemas/PartyIdentification282'
    UndertakingAuditTrail1Subset:
      x-MXComponent: UndertakingAuditTrail1Subset
      type: object
      description: |
        Report of events throughout the lifecycle of a trade finance undertaking.
        Report covers business level events, not technical level event.
      additionalProperties: false
      properties:
        application_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Globally unique technical identification of the Undertaking as defined by the issuer's server. The applicant does not use this field when first submitting the application, but it should be used when subsequently updating the Undertaking details.

            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        undertaking_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique business identification of the undertaking. Filled in by the bank after issuance of the Undertaking, stays unique throughout the lifecycle of the Undertaking.

            Usage guideline: To ensure this field is globally unique, recommended to structure it as follows:

            BIC4 of the issuing bank (max4char) + unique reference (max12char)

            MT Mapping: field 20

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        undertaking_form:
          x-MXComponent: UndertakingForm1Code
          description: |
            Form of the independent and irrevocable Undertaking.

            MT Mapping: 22D

            Specifies the form of the independent and irrevocable Undertaking.

            Code Name Definition:
            *`DEPU` - DependentUndertaking - Dependent Undertaking.
            *`DGAR` - DemandGuarantee - Demand Guarantee.
            *`STBY` - StandbyLetterOfCredit - Standby Letter Of Credit.
          type: string
          enum:
          - DEPU
          - DGAR
          - STBY
        issuance_type:
          x-MXComponent: Max4Text
          description: |
            Type of the Undertaking issuance.

            CODES:
            ACNF - Advice and confirmation of issued undertaking
            ADVI - Advice of issued undertaking
            ICCO - Issuance of counter-counter-undertaking and request to issue counter-undertaking
            ISCO - Issuance of counter-undertaking and request to issue local undertaking
            ISSU - Issuance of undertaking

            If code is different from the above code list, then a bilaterally agreed code may be used.

            MT Mapping: field 22A of MT 798.

            RULE: For corp-to-bank flow, this field specifies whether the application is a request for the issuance of an undertaking (code ISSU) or for issuance of a counter- undertaking (code ISCO) or issuance of a counter- counter-undertaking (code ICCO). Codes ACNF and ADVI must not be used while requesting for issuance.

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        undertaking_type:
          x-MXComponent: Max4Text
          description: "Type of Undertaking, for example, performance, payment.\n\nType of undertaking can be either \n- Code from ExternalUndertakingType1Code published on ISO20022.org as part of external code sets\nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"\nCode\" \"\nName\"\t \"\nDefinition\"\nAPAY - AdvancePayment - Undertaking in support of an advance payment obligation.\nCOMM - Commercial - Undertaking in support of a commercial obligation.\nCUST - Customs - Undertaking in support of a customs duty obligation.\nDPAY - DirectPay - Undertaking representing the primary means of payment.\nFINC - Financial - Undertaking in support of a financial obligation.\nINSU - Insurance - Undertaking in support of a insurance obligation.\nIRBO - IndustrialRevenueBoard - Undertaking in support of an Industrial Revenue Board (IRB) obligation.\nMAIN - Maintenance - Undertaking in support of a maintenance obligation.\nOTHR - Other - Undertaking in support of any other type.\nPAYM - Payment - Undertaking in support of a payment obligation.\nPERF - Performance - Undertaking in support of a performance obligation.\nRETN - Retention - Undertaking in support of a monetary retention obligation.\nSHIP - Shipping - Undertaking in support of a sea transportation obligation.\nTEND - TenderOrBid - Undertaking in support of a tender or bid obligation.\nWARR - Warranty - Undertaking in support of a warranty obligation.\n\n\nMT Mapping: field 22K\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        undertaking_amount:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Specifies the amount and currency of the Undertaking.

            MT Mapping: field 32B

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        expiry_type:
          x-MXComponent: ExpiryType1Code
          description: |
            Specifies whether the Undertaking has a specified expiry date or is open-ended or is dependent on a documentary condition or event or when the expiry date is not known.

            MT Mapping: field 23B

            Specifies whether the undertaking has a specified expiry date or is open-ended or is dependent on a documentary condition or event.

            Code Name Definition:
            *`COND` - ExpiryCondition - Expiry condition (including option for specified date of expiry).
            *`FIXD` - Fixed - Specified date of expiry (either with or without automatic extension).
            *`NONE` - None - To be used if the Applicant does not know the expiry date.
            *`OPEN` - Open - No specified date of expiry.
          type: string
          enum:
          - COND
          - FIXD
          - NONE
          - OPEN
        undertaking_expiry_date:
          x-MXComponent: ISODate
          description: |
            Date when the Undertaking will cease to be available.

            MT Mapping: field 31E

            Usage Rules If Expiry Type is OPEN, then this field contains the Approximate Expiry Date (MT Mapping: field 31S ).

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        events_history:
          type: array
          description: Overview of events in the lifecycle of a trade finance undertaking.
          items:
            $ref: '#/components/schemas/UndertakingAuditTrailData1Subset'
      required:
      - application_reference
    UndertakingAuditTrailData1Subset:
      x-MXComponent: UndertakingAuditTrailData1Subset
      type: object
      description: Audit Trial of events in the lifecycle of a trade finance undertaking.
      additionalProperties: false
      properties:
        event_identification:
          x-MXComponent: UUIDv4Identifier
          description: |
            Identification of the Undertaking event.

            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        originating_party:
          #  Originator of the event.
          $ref: '#/components/schemas/PartyIdentification281'
        event_type:
          x-MXComponent: ApplicationEventType1Code
          description: |
            Application Event Type.

            Type of a Bank Guarantee event, in a codified form.

            Code Name Definition:
            *`AMNA` - AmendmentAdvice - Undertaking Amendment Advice.
            *`AMNR` - AmendmentResponse - Undertaking Amendment Response.
            *`AMRQ` - AmendmentRequest - Undertaking Amendment Request.
            *`APLA` - ApplicationIssuanceAdvice - Undertaking Application Issuance Advice.
            *`APPL` - Application - Undertaking Application.
            *`CCSA` - ClaimChargesSettlementAdvice - Claim/Charges Settlement Advice.
            *`DMRQ` - DemandRequest - Demand Request.
            *`DMRS` - DemandResponse - Demand Response.
            *`RRAD` - ReductionReleaseAdvice - Reduction / Release Advice.
            *`RRRQ` - ReductionReleaseRequest - Reduction / Release Request.
            *`UNTN` - UndertakingTerminationNotice - Undertaking Termination Notice.
            *`WITH` - DemandWithdrawn - Demand Withdrawn.
            *`XTRQ` - ExtendOrPayRequest - Undertaking Extend or Pay request.
            *`XTRS` - ExtendOrPayResponse - Undertaking Extend or Pay response.
          type: string
          enum:
          - AMNA
          - AMNR
          - AMRQ
          - APLA
          - APPL
          - CCSA
          - DMRQ
          - DMRS
          - RRAD
          - RRRQ
          - UNTN
          - WITH
          - XTRQ
          - XTRS
        event_date_time:
          x-MXComponent: ISODateTime
          description: |
            Date and Time of the event.

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.[0-9]+)?(?:Z|[+-][01]\d:[0-5]\d)?$
        demand_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Unique technical identification of the demand, as defined by the beneficiary's server.

            USAGE RULE: only used when Event Type is DMRQ, DMRS, or WITH.

            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        amendment_impact:
          type: array
          description: |
            Proposed amendment(s) to the undertaking in a codified form.

            Amendment to a trade finance undertaking in a codified form.

            Code Name Definition:
            *`CTHR` - CounterUndertakingOtherAmendments - Any other amendments made to the undertaking.
            *`CUAD` - CounterUndertakingAmountDecrease - Indication of the amount of decrease to the undertaking amount.
            *`CUAI` - CounterUndertakingAmountIncrease - Indication of the amount of increase to the undertaking amount.
            *`CUDX` - CounterUndertakingExpiryDate - Specifies the new date when the undertaking will cease to be available.
            *`CUNB` - CounterUndertakingNewBeneficiary - Requested new beneficiary of the undertaking.
            *`CUTC` - CounterUndertakingTermsAndCondition - Requested new terms and conditions of the undertaking.
            *`CUXC` - CounterUndertakingNewExpiryCondition - Specifies the amended documentary condition that indicates when the undertaking will cease to be available.
            *`LTHR` - LocalUndertakingOtherAmendments - Any other amendments made to the local undertaking.
            *`LUAD` - LocalUndertakingAmountDecrease - Indication of the amount of decrease to the local undertaking amount.
            *`LUAI` - LocalUndertakingAmountIncrease - Indication of the amount of increase to the local undertaking amount.
            *`LUDX` - LocalUndertakingExpiryDate - Specifies the new date when the local undertaking will cease to be available.
            *`LUNB` - LocalUndertakingNewBeneficiary - Requested new beneficiary of the local undertaking.
            *`LUTC` - LocalUndertakingTermsAndCondition - Requested new terms and conditions of the local undertaking.
            *`LUXC` - LocalUndertakingNewExpiryCondition - Specifies the amended documentary condition that indicates when the local undertaking will cease to be available.
          items:
            x-MXComponent: AmendmentImpact1Code
            type: string
            enum:
            - CTHR
            - CUAD
            - CUAI
            - CUDX
            - CUNB
            - CUTC
            - CUXC
            - LTHR
            - LUAD
            - LUAI
            - LUDX
            - LUNB
            - LUTC
            - LUXC
        status:
          description: |
            Specifies the reported status.
          $ref: '#/components/schemas/AdditionalStatusInformation1Choice'
        status_reason:
          x-MXComponent: Max4Text
          description: |
            Reason for the status, as published as ExternalStatusReason1Code in the external codes table on www.iso20022.org; or a bilaterally agreed code.

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        additional_status_information:
          x-MXComponent: Max240Text
          description: |
            Further details on the status reason in textual format.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            Specifies a character string with a maximum length of 240 characters.
          type: string
          minLength: 1
          maxLength: 240
      required:
      - event_identification
      - event_type
      - additional_status_information
    UndertakingReport1Subset:
      x-MXComponent: UndertakingReport1Subset
      type: object
      description: Report of trade undertakings in scope of a search function.
      additionalProperties: false
      properties:
        report_reference:
          x-MXComponent: UUIDv4Identifier
          description: "Unique technical identification of the report as defined by the issuer's server. \n\nUniversally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\".\n"
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        undertaking_overview:
          type: array
          description: Concise data of trade finance undertakings.
          items:
            $ref: '#/components/schemas/UndertakingReportData1Subset'
      required:
      - report_reference
    UndertakingReportData1Subset:
      x-MXComponent: UndertakingReportData1Subset
      type: object
      description: Concise overview of trade finance undertakings.
      additionalProperties: false
      properties:
        application_reference:
          x-MXComponent: UUIDv4Identifier
          description: "Unique technical identification of the Undertaking as defined by the issuer's server. \n\n\nUniversally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\".\n"
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        undertaking_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique business identification of the undertaking. Filled in by the bank after issuance of the Undertaking, stays unique throughout the lifecycle of the Undertaking.

            Usage guideline: To ensure this field is globally unique, recommended to structure it as follows:

            BIC4 of the issuing bank (max4char) + unique reference (max12char)

            MT Mapping: field 20

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        undertaking_form:
          x-MXComponent: UndertakingForm1Code
          description: |
            Form of the independent and irrevocable Undertaking.

            MT Mapping: 22D

            Specifies the form of the independent and irrevocable Undertaking.

            Code Name Definition:
            *`DEPU` - DependentUndertaking - Dependent Undertaking.
            *`DGAR` - DemandGuarantee - Demand Guarantee.
            *`STBY` - StandbyLetterOfCredit - Standby Letter Of Credit.
          type: string
          enum:
          - DEPU
          - DGAR
          - STBY
        issuance_type:
          x-MXComponent: Max4Text
          description: |
            Type of the Undertaking issuance.

            CODES:
            ACNF - Advice and confirmation of issued undertaking
            ADVI - Advice of issued undertaking
            ICCO - Issuance of counter-counter-undertaking and request to issue counter-undertaking
            ISCO - Issuance of counter-undertaking and request to issue local undertaking
            ISSU - Issuance of undertaking

            If code is different from the above code list, then a bilaterally agreed code may be used.

            MT Mapping: field 22A of MT 798.

            RULE: For corp-to-bank flow, this field specifies whether the application is a request for the issuance of an undertaking (code ISSU) or for issuance of a counter- undertaking (code ISCO) or issuance of a counter- counter-undertaking (code ICCO). Codes ACNF and ADVI must not be used while requesting for issuance.

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        undertaking_type:
          x-MXComponent: Max4Text
          description: "Type of Undertaking, for example, performance, payment.\n\nType of undertaking can be either \n- Code from ExternalUndertakingType1Code published on ISO20022.org as part of external code sets\nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"\nCode\" \"\nName\"\t \"\nDefinition\"\nAPAY - AdvancePayment - Undertaking in support of an advance payment obligation.\nCOMM - Commercial - Undertaking in support of a commercial obligation.\nCUST - Customs - Undertaking in support of a customs duty obligation.\nDPAY - DirectPay - Undertaking representing the primary means of payment.\nFINC - Financial - Undertaking in support of a financial obligation.\nINSU - Insurance - Undertaking in support of a insurance obligation.\nIRBO - IndustrialRevenueBoard - Undertaking in support of an Industrial Revenue Board (IRB) obligation.\nMAIN - Maintenance - Undertaking in support of a maintenance obligation.\nOTHR - Other - Undertaking in support of any other type.\nPAYM - Payment - Undertaking in support of a payment obligation.\nPERF - Performance - Undertaking in support of a performance obligation.\nRETN - Retention - Undertaking in support of a monetary retention obligation.\nSHIP - Shipping - Undertaking in support of a sea transportation obligation.\nTEND - TenderOrBid - Undertaking in support of a tender or bid obligation.\nWARR - Warranty - Undertaking in support of a warranty obligation.\n\n\nMT Mapping: field 22K\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        party:
          type: array
          description: "Parties specified in the Undertaking or related to the Undertaking. \nThe type of Party is specified in the first element, Type.\n\nUsage Rule: MANDATORY to include one iteration of Party for Applicant and another one for Beneficiary.\n"
          items:
            $ref: '#/components/schemas/PartyIdentification281'
        undertaking_amount:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Specifies the amount and currency of the Undertaking.

            MT Mapping: field 32B

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        total_charge:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Indicates total charges and fees applicable for an Undertaking.


            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        expiry_type:
          x-MXComponent: ExpiryType1Code
          description: |
            Specifies whether the Undertaking has a specified expiry date or is open-ended or is dependent on a documentary condition or event or when the expiry date is not known.

            MT Mapping: field 23B

            Specifies whether the undertaking has a specified expiry date or is open-ended or is dependent on a documentary condition or event.

            Code Name Definition:
            *`COND` - ExpiryCondition - Expiry condition (including option for specified date of expiry).
            *`FIXD` - Fixed - Specified date of expiry (either with or without automatic extension).
            *`NONE` - None - To be used if the Applicant does not know the expiry date.
            *`OPEN` - Open - No specified date of expiry.
          type: string
          enum:
          - COND
          - FIXD
          - NONE
          - OPEN
        undertaking_expiry_date:
          x-MXComponent: ISODate
          description: |
            Date when the Undertaking will cease to be available.

            MT Mapping: field 31E

            Usage Rules If Expiry Type is OPEN, then this field contains the Approximate Expiry Date (MT Mapping: field 31S ).

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        last_event_originating_party:
          #  Originator of the last occurring event.
          $ref: '#/components/schemas/PartyIdentification281'
        last_event_type:
          x-MXComponent: ApplicationEventType1Code
          description: |
            Last undertaking Event Type.

            Type of a Bank Guarantee event, in a codified form.

            Code Name Definition:
            *`AMNA` - AmendmentAdvice - Undertaking Amendment Advice.
            *`AMNR` - AmendmentResponse - Undertaking Amendment Response.
            *`AMRQ` - AmendmentRequest - Undertaking Amendment Request.
            *`APLA` - ApplicationIssuanceAdvice - Undertaking Application Issuance Advice.
            *`APPL` - Application - Undertaking Application.
            *`CCSA` - ClaimChargesSettlementAdvice - Claim/Charges Settlement Advice.
            *`DMRQ` - DemandRequest - Demand Request.
            *`DMRS` - DemandResponse - Demand Response.
            *`RRAD` - ReductionReleaseAdvice - Reduction / Release Advice.
            *`RRRQ` - ReductionReleaseRequest - Reduction / Release Request.
            *`UNTN` - UndertakingTerminationNotice - Undertaking Termination Notice.
            *`WITH` - DemandWithdrawn - Demand Withdrawn.
            *`XTRQ` - ExtendOrPayRequest - Undertaking Extend or Pay request.
            *`XTRS` - ExtendOrPayResponse - Undertaking Extend or Pay response.
          type: string
          enum:
          - AMNA
          - AMNR
          - AMRQ
          - APLA
          - APPL
          - CCSA
          - DMRQ
          - DMRS
          - RRAD
          - RRRQ
          - UNTN
          - WITH
          - XTRQ
          - XTRS
        last_event_date_time:
          x-MXComponent: ISODateTime
          description: |
            Date and Time of the last event.

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.[0-9]+)?(?:Z|[+-][01]\d:[0-5]\d)?$
      required:
      - party
      - undertaking_amount
    TradeFinanceInstruction:
      x-MXComponent: UndertakingSubset
      type: object
      description: Details about an Undertaking, from Application to Issuance to Amendment to Termination.
      additionalProperties: false
      properties:
        application_reference:
          x-MXComponent: UUIDv4Identifier
          description: "Unique technical identification of the Undertaking as defined by the issuer's server. \n\nNote: The applicant does not use this field when first submitting the application, but it should be used when subsequently updating the Undertaking details.\n\nUniversally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\".\n"
          type: string
          format: uuid
          readOnly: true
          # pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        platform_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Unique technical reference assigned by the platform.


            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        applicant_issuance_request_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique business reference of the Issuance Request, assigned by the applicant.

            MT Mapping: field 21A of MT 798.

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        issuer_acknowledgement_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique business reference of the issuer's acknowledgement of the applicant's initial Issuance Request, assigned by the issuer.

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        undertaking_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique business identification of the undertaking. Filled in by the bank after issuance of the Undertaking, stays unique throughout the lifecycle of the Undertaking.

            Usage guideline: To ensure this field is globally unique, recommended to structure it as follows:

            BIC4 of the issuing bank (max4char) + unique reference (max12char)

            MT Mapping: field 20

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        third_party_issuance_request_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Issuance request identification assigned by third party.

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        undertaking_status:
          x-MXComponent: ApplicationEventType2Code
          description: |
            Undertaking Status.

            Type of Bank Guarantee event, in a codified form.

            Code Name Definition:
            *`AMNA` - AmendmentAdvice - Undertaking Amendment Advice.
            *`AMNR` - AmendmentResponse - Undertaking Amendment Response.
            *`AMRQ` - AmendmentRequest - Undertaking Amendment Request.
            *`APLA` - ApplicationIssuanceAdvice - Undertaking Application Issuance Advice.
            *`APPL` - Application - Undertaking Application.
            *`CCSA` - ClaimChargesSettlementAdvice - Claim/Charges Settlement Advice.
            *`DMRQ` - DemandRequest - Demand Request.
            *`DMRS` - DemandResponse - Demand Response.
            *`RRAD` - ReductionReleaseAdvice - Reduction / Release Advice.
            *`RRRQ` - ReductionReleaseRequest - Reduction / Release Request.
            *`UNTN` - UndertakingTerminationNotice - Undertaking Termination Notice.
            *`WITH` - DemandWithdrawn - Demand Withdrawn.
            *`XTRQ` - ExtendOrPayRequest - Undertaking Extend or Pay request.
            *`XTRS` - ExtendOrPayResponse - Undertaking Extend or Pay response.
          type: string
          enum:
          - AMNA
          - AMNR
          - AMRQ
          - APLA
          - APPL
          - CCSA
          - DMRQ
          - DMRS
          - RRAD
          - RRRQ
          - UNTN
          - WITH
          - XTRQ
          - XTRS
        undertaking_form:
          x-MXComponent: UndertakingForm1Code
          description: |
            Form of the independent and irrevocable Undertaking.

            MT Mapping: 22D

            Specifies the form of the independent and irrevocable Undertaking.

            Code Name Definition:
            *`DEPU` - DependentUndertaking - Dependent Undertaking.
            *`DGAR` - DemandGuarantee - Demand Guarantee.
            *`STBY` - StandbyLetterOfCredit - Standby Letter Of Credit.
          type: string
          enum:
          - DEPU
          - DGAR
          - STBY
        undertaking_application_date:
          x-MXComponent: ISODate
          description: |
            Date when the applicant made the request for issuance of Undertaking.

            MT Mapping: 13E

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        undertaking_issuance_date:
          x-MXComponent: ISODate
          description: |
            Date when the Undertaking is issued. Provided by the applicant's bank/issuer when the Undertaking is issued.

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        issuance_type:
          x-MXComponent: Max4Text
          description: |
            Type of the Undertaking issuance.

            CODES:
            ACNF - Advice and confirmation of issued undertaking
            ADVI - Advice of issued undertaking
            ICCO - Issuance of counter-counter-undertaking and request to issue counter-undertaking
            ISCO - Issuance of counter-undertaking and request to issue local undertaking
            ISSU - Issuance of undertaking

            If code is different from the above code list, then a bilaterally agreed code may be used.

            MT Mapping: field 22A of MT 798.

            RULE: For corp-to-bank flow, this field specifies whether the application is a request for the issuance of an undertaking (code ISSU) or for issuance of a counter- undertaking (code ISCO) or issuance of a counter- counter-undertaking (code ICCO). Codes ACNF and ADVI must not be used while requesting for issuance.

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        undertaking_type:
          x-MXComponent: Max4Text
          description: "Type of Undertaking, for example, performance, payment.\n\nType of undertaking can be either \n- Code from ExternalUndertakingType1Code published on ISO20022.org as part of external code sets\nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"\nCode\" \"\nName\"\t \"\nDefinition\"\nAPAY - AdvancePayment - Undertaking in support of an advance payment obligation.\nCOMM - Commercial - Undertaking in support of a commercial obligation.\nCUST - Customs - Undertaking in support of a customs duty obligation.\nDPAY - DirectPay - Undertaking representing the primary means of payment.\nFINC - Financial - Undertaking in support of a financial obligation.\nINSU - Insurance - Undertaking in support of a insurance obligation.\nIRBO - IndustrialRevenueBoard - Undertaking in support of an Industrial Revenue Board (IRB) obligation.\nMAIN - Maintenance - Undertaking in support of a maintenance obligation.\nOTHR - Other - Undertaking in support of any other type.\nPAYM - Payment - Undertaking in support of a payment obligation.\nPERF - Performance - Undertaking in support of a performance obligation.\nRETN - Retention - Undertaking in support of a monetary retention obligation.\nSHIP - Shipping - Undertaking in support of a sea transportation obligation.\nTEND - TenderOrBid - Undertaking in support of a tender or bid obligation.\nWARR - Warranty - Undertaking in support of a warranty obligation.\n\n\nMT Mapping: field 22K\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        undertaking_text_purpose:
          x-MXComponent: UndertakingPurpose1Code
          description: "Specifies whether the application text is draft or final.\n\nUsage Rule: If Undertaking Purpose is not explicitly set to 'DRFT', it is considered as 'FINL'. \n\nMT Mapping: field 25F of MT 798.\n\nSpecifies whether the application text is draft or final.\n\nCode Name Definition:\n*`DRFT` - DRAFT - Proposed application text to facilitate review by the applicant and the applicant's bank. The applicant's bank must not issue an undertaking based on text designated as DRAFT.\n*`FINL` - FINAL - Final submission requesting/authorizing issuance of a guarantee / standby.\n"
          type: string
          enum:
          - DRFT
          - FINL
        undertaking_wording_type:
          x-MXComponent: Max4Text
          description: |
            Specifies the type of wording of the Undertaking.

            CODES:
            STND = STANDARD WORDING OF ISSUING/LOCAL BANK
            WDAP = WORDING DRAFTED BY APPLICANT
            WDBF = WORDING DRAFTED BY BENEFICIARY
            OTHR = must be specified in Narrative

            If code is different from the above code list, then a bilaterally agreed code may be used.

            MT Mapping: field 12H of MT 798.

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        undertaking_wording_narrative:
          x-MXComponent: RestrictedFINMax35Text
          description: |
            Field should only be used to identify the type when the Wording is 'OTHR'.

            MT Mapping: 12H

            Specifies a character string with a maximum length of 35 characters. It has a pattern ([^/]+/)+([^/]+)|([^/]*) that disables the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^([^/]+/)+([^/]+)|([^/]*)$
        standard_wording_language:
          x-MXComponent: ISO2ALanguageCode
          description: |
            Specifies the language of the standard wording of the Issuing Bank, using 2 alphabetic ISO 639 Language Code, for example en = English, fr = French, de = German.

            Usage Guideline: Bank Guarantee APIs allow for UTF-8 character set. For interbank interoperability, recommended to limit to Western character set; unless bilaterally agreed.

            MT Mapping: field 12L

            Identification of the language name according to the ISO 639-1 codes. The type is validated by the list of values coded with two alphabetic characters, defined in the standard.
          type: string
          pattern: ^[a-z]{2,2}$
        party:
          type: array
          description: "Parties specified in the Undertaking or related to the Undertaking. \nThe type of Party is specified in the first element, Type.\n\nUsage Rule: MANDATORY to include one iteration of Party for Applicant and another one for Beneficiary.\n"
          items:
            $ref: '#/components/schemas/PartyIdentification281'
        undertaking_amount:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Specifies the amount and currency of the Undertaking.

            MT Mapping: field 32B

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        undertaking_amount_additional_information:
          x-MXComponent: Max780Text
          description: |
            Additional information concerning the demand amount.

            MT Mapping: field 39F

            Specifies a character string with a maximum length of 780 characters.
          type: string
          minLength: 1
          maxLength: 780
        expiry_type:
          x-MXComponent: ExpiryType1Code
          description: |
            Specifies whether the Undertaking has a specified expiry date or is open-ended or is dependent on a documentary condition or event or when the expiry date is not known.

            MT Mapping: field 23B

            Specifies whether the undertaking has a specified expiry date or is open-ended or is dependent on a documentary condition or event.

            Code Name Definition:
            *`COND` - ExpiryCondition - Expiry condition (including option for specified date of expiry).
            *`FIXD` - Fixed - Specified date of expiry (either with or without automatic extension).
            *`NONE` - None - To be used if the Applicant does not know the expiry date.
            *`OPEN` - Open - No specified date of expiry.
          type: string
          enum:
          - COND
          - FIXD
          - NONE
          - OPEN
        undertaking_expiry_date:
          x-MXComponent: ISODate
          description: |
            Date when the Undertaking will cease to be available.

            MT Mapping: field 31E

            Usage Rules If Expiry Type is OPEN, then this field contains the Approximate Expiry Date (MT Mapping: field 31S ).

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        undertaking_expiry_condition:
          x-MXComponent: Max780Text
          description: |
            Documentary condition that indicates when the Undertaking will cease to be available.

            MT Mapping: field 35G

            Specifies a character string with a maximum length of 780 characters.
          type: string
          minLength: 1
          maxLength: 780
        confirmation_instructions:
          x-MXComponent: UndertakingConfirmationType1Code
          description: |
            Contains confirmation instructions from the issuing bank to the advising party.

            MT Mapping: field 49

            Confirmation instructions from the issuing bank to the advising party, expressed as codes.

            Code Name Definition:
            *`CONFIRM` - Confirmed - Requested confirmation party is requested to confirm the credit.
            *`MAYADD` - MayAdd - Requested confirmation party may add its confirmation to the credit.
            *`WITHOUT` - Without - Confirmation is not requested.
          type: string
          enum:
          - CONFIRM
          - MAYADD
          - WITHOUT
        undertaking_terms_and_conditions:
          type: array
          maxItems: 8
          description: |
            Terms and conditions of the Undertaking.

            MT Mapping: field 77U

            Specifies a character string with a maximum length of 9750 characters.
          items:
            x-MXComponent: Max9750Text
            type: string
            minLength: 1
            maxLength: 9750
        liability_account:
          description: |
            Liability account nominated by the Applicant.

            MT Mapping: field 53C of MT 798
          $ref: '#/components/schemas/AccountIdentification68Choice'
        auto_extension_period:
          description: |
            Details related to the automatic extension of the Undertaking.

            MT Mapping: field 23F
          $ref: '#/components/schemas/AutoExtend1Choice'
        auto_extension_final_expiry_date:
          x-MXComponent: ISODate
          description: |
            Final expiry date after which the Undertaking will no longer be subject to automatic extension.

            MT Mapping: field 31S

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        auto_extension_notification_period:
          x-MXComponent: Max3Number
          description: |
            Minimum number of days prior to the then current expiry date by which notice of non-extension must be sent.

            MT Mapping: field 26E

            Number (max 999) of objects represented as an integer.
          type: string
          maxLength: 4
        auto_extension_non_extension_notification_narrative:
          x-MXComponent: Max780Text
          description: |
            Contains additional details about the non-extension to the automatic expiry date extension.

            MT Mapping: field 78

            Specifies a character string with a maximum length of 780 characters.
          type: string
          minLength: 1
          maxLength: 780
        governance_rule_identification:
          x-MXComponent: UndertakingGovernanceIdentification1Code
          description: |
            Identification of the governance rules.

            MT Mapping: field 40C

            Specifies the identification of the rules and laws governing the undertaking.

            Code Name Definition:
            *`ISPR` - InternationalStandbyPractices - Version of the International Standby Practices (ISP) that is in effect on the date of issue of the undertaking.
            *`NONE` - None - No applicable rule set defined.
            *`OTHR` - Other - Undertaking is subject to another set of rules, or the undertaking is not subject to the version of the rules that is in effect on the date of issue, these must be specified in GovernanceRuleNarrative.
            *`UCPR` - UniformCustomsAndPractice - Version of the Uniform Customs and Practice for Documentary Credits (UCP) as published by the International Chamber of Commerce (ICC) that is in effect on the date of issue of the undertaking.
            *`URDG` - UniformRulesForDemandGuarantees - Version of the ICC Uniform Rules For Demand Guarantees (URDG) as published by the International Chamber of Commerce (ICC) that is in effect on the date of issue of the undertaking.
          type: string
          enum:
          - ISPR
          - NONE
          - OTHR
          - UCPR
          - URDG
        governance_rule_narrative:
          x-MXComponent: Max35Text
          description: |
            If Type is OTHR, then Narrative may be present, otherwise Narrative is not allowed.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        applicable_law_or_jurisdiction:
          description: |
            Specifies the governing law (as an ISO 3166-1 code in Country Code) and/or place of jurisdiction (in Narrative, optionally) that is applicable to the undertaking.

            MT Mapping: field 44H
          $ref: '#/components/schemas/Location3Subset'
        underlying_transaction_type:
          x-MXComponent: Max4Text
          description: "Type of underlying transaction such as a tender, order, contract.\n\nType can be:\n- a code from the list published on ISO20022.org as part of external code set ExternalUnderlyingTradeTransactionType1Code \nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"Code\" \"Name\"  \"Definition\"\nCONT - Contract - Underlying transaction is a contract.\nDELV - DeliveryOrder - Underlying transaction is a delivery order.\nPROF - ProformaInvoice - Underlying transaction is a proforma invoice.\nPROJ - Project -Underlying transaction is a project.\nPUOR - PurchaseOrder - Underlying transaction is a purchase order.\nQUOT - Quotation - Underlying transaction is a quotation.\nTEND - Tender - Underlying transaction is a tender.\n\nMT 798 mapping : field 20E\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        underlying_transaction_identification:
          x-MXComponent: Max35Text
          description: |
            Identification of the underlying transaction.

            MT 798 mapping: field 20E

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        underlying_transaction_date:
          x-MXComponent: ISODate
          description: |
            Date the underlying transaction was issued or awarded.

            MT 798 mapping: field 31R

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        underlying_tender_closing_date:
          x-MXComponent: ISODate
          description: |
            Date the tender closes.

            MT 798 mapping: field 31R

            Usage Rule: may only be used when field Underlying Transaction Type consists of TEND (tender) to specify the tender closing date.

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        underlying_transaction_amount:
          x-MXComponent: ActiveCurrencyAndAmount
          description: |
            Amount of the underlying transaction.

            MT 798 mapping: field 71F

            Usage Rule: The currency must be the same currency as in Undertaking Amount.

            A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
          type: object
          additionalProperties: false
          properties:
            currency:
              x-MXComponent: ActiveCurrencyCode
              type: string
              pattern: ^[A-Z]{3,3}$
            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
        underlying_transaction_amount_percentage:
          x-MXComponent: PercentageRate
          description: |
            Percentage of the underlying contract covered by the undertaking.

            MT 798 mapping: field 37J

            Rate expressed as a percentage, that is, in hundredths, for example, 0.7 is 7/10 of a percent, and 7.0 is 7%.
          type: string
          maxLength: 12
        underlying_transaction_additional_info:
          x-MXComponent: Max3250Text
          description: |
            Additional information related to the underlying transaction.

            MT Mapping: field 45L

            Specifies a character string with a maximum length of 3250 characters.
          type: string
          minLength: 1
          maxLength: 3250
        presentation_instructions:
          x-MXComponent: Max6500Text
          description: "Specifies the presentation instructions (for example, form and/or place of presentation) including documents required to make a complying demand. Presentation refers to presentation of documents that conform to the Terms and Conditions of the Undertaking. \n\nSpecifies a character string with a maximum length of 6500 characters.\n"
          type: string
          minLength: 1
          maxLength: 6500
        presentation_document:
          type: array
          description: |
            Document required to be presented.

            MT Mapping: field 45C
          items:
            $ref: '#/components/schemas/Document13Subset'
        presentation_medium:
          x-MXComponent: Max4Text
          description: |
            Medium through which the presentation can be submitted such as paper, electronic or both.

            ELEC = Electronic
            PAPR = Paper
            BOTH = Paper and Electronic
            OTHR = Other

            MT Mapping: field 45C


            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        presentation_representation:
          #  Choice of representation for the place of presentation.
          $ref: '#/components/schemas/PlaceOrUnderConfirmationChoice2'
        partial_demand:
          x-MXComponent: Demand1Code
          description: |
            Indicates whether partial demands/drawings are permitted.

            MT Mapping: field 48B

            Code for partial and/or multiple demands.

            Code Name Definition:
            *`NMLT` - MultipleDemandsNotPermitted - Multiple demands not permitted.
            *`NMPT` - MultipleAndPartialDemandsNotPermitted - Multiple and partial demands not permitted.
            *`NPRT` - PartialDemandsNotPermitted - Partial demands not permitted.
          type: string
          enum:
          - NMLT
          - NMPT
          - NPRT
        transfer_indicator:
          x-MXComponent: YesNoIndicator
          description: |
            Indicates whether the Undertaking is transferable.

            MT Mapping: field 48D

            Indicates a "Yes" or "No" type of answer for an element.
          type: boolean
        transfer_conditions:
          x-MXComponent: Max780Text
          description: |
            Used when the conditions for transfer need more detail than the Transfer Indicator.

            MT Mapping: field 39E

            Specifies a character string with a maximum length of 780 characters.
          type: string
          minLength: 1
          maxLength: 780
        charge:
          type: array
          description: "Indicates charges including charges applicable during settlement of an Undertaking.\n\nNote: For each different charge, recommendation is to repeat Charge. \nFor example, counterparty commission, own charges, refund charges etc. should be indicated by repeating Charge.\n"
          items:
            $ref: '#/components/schemas/Charge30'
        delivery_channel_method:
          x-MXComponent: Max4Text
          description: "Method by which the original Undertaking is to be made available.\n\n\"\nCode\"\t\"\nName\"\nCOUR - Courier\nEMAL - Email\nFAXI - Fax\nMESS - Messenger\nOTHR - Other\nPOST - Post\nREGM - RegisteredMail\nSEMA - SecureEmail\nSWFA - SWIFTNetFileAct\nSWIA - SWIFTNetInterAct\nSWMT - SWIFTMT\nSWMX - SWIFTMX\nTELE - Telecommunication\nWEBM - WebUploadDownload\n\nMT Mapping: field 24E\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        deliver_to_party_type:
          x-MXComponent: Max4Text
          description: "Type of party to whom the original Undertaking is intended to be delivered.\n\nType of party can be either \n- a code from the list published on ISO20022.org as part of external code sets\nOR\n- if code is different from the ISO code list (mentioned above), then a bilaterally agreed code may be used\n\n\"\nCode\"\t\"\nName\"\nADVP - AdvisingParty\nANYB - AnyBank\nAPPL - Applicant\nBENE - Beneficiary\nCONF - ConfirmationParty\nCUB2 - SecondCounterUndertakingBeneficiary\nCUB3 - ThirdCounterUndertakingBeneficiary\nISSU - Issuer\nOBLG - Obligor\nORDR - OrderingParty\nPRES - PresentingParty\nSADV - SecondAdvisingParty\nSPEC - SpecifiedAddress\n\n\nMT Mapping: field 24G\n\nSpecifies a character string with a maximum length of 4 characters.\n"
          type: string
          minLength: 1
          maxLength: 4
        deliver_to_name:
          x-MXComponent: RestrictedFINXMax35Text
          description: |
            Name of party to whom the original Undertaking is intended to be delivered.


            MT Mapping: field 24G

            Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,35}$
        deliver_to_address:
          type: array
          maxItems: 3
          description: |
            Address of party to whom the original Undertaking or proposed amendment is intended to be delivered.

            MT Mapping: field 24G

            Specifies a character string with a maximum length of 35 characters limited to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + .
          items:
            x-MXComponent: RestrictedFINXMax35Text
            type: string
            minLength: 1
            maxLength: 35
            pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]{1,35}$
        deliver_to_tracking_reference:
          x-MXComponent: Max35Text
          description: |
            Unique tracking reference used by the delivery method, for example courier tracking reference, FileAct reference, etc.

            Specifies a character string with a maximum length of 35 characters.
          type: string
          minLength: 1
          maxLength: 35
        deliver_to_electronic_details:
          type: array
          description: Details related to an electronic presentation.
          items:
            $ref: '#/components/schemas/Presentation5'
        additional_deliver_to_details:
          x-MXComponent: RestrictedFINMax35Text
          description: |
            Additional details about delivery.

            Usage Guideline: This field can additionally be used to identify the party when the party type is 'OTHR'.

            Specifies a character string with a maximum length of 35 characters. It has a pattern ([^/]+/)+([^/]+)|([^/]*) that disables the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^([^/]+/)+([^/]+)|([^/]*)$
        supporting_document:
          type: array
          description: Document related to the Undertaking.
          items:
            $ref: '#/components/schemas/Document18'
        instructions_to_bank:
          x-MXComponent: Max210Text
          description: |
            Information specific to the bank receiving the instruction.


            MT Mapping: field 72Z

            Specifies a character string with a maximum length of 210 characters.
          type: string
          minLength: 1
          maxLength: 210
        application_advice_information:
          x-MXComponent: Max3250Text
          description: |
            Additional information about the Application.

            MT Mapping: field 78B of MT 798

            Specifies a character string with a maximum length of 3250 characters.
          type: string
          minLength: 1
          maxLength: 3250
        amendment_request_supporting_information:
          #  "Documents the supporting information for the current amendment request.\n\nUsage Guideline(1): An Amendment Request of an issued Undertaking is done by PATCHing the Undertaking resource. This component must then be used to identify the Amendment Request, add an amendment sequence number, and provide supporting information for the Amendment Request. \n\nUsage Guideline(2): Reduction/Release is implemented as a special case of Amendment Request; it is not a separate process.\n\n PATCH the bankguarantee resource with the reduced/released amounts, and any charges etc. This component must be used to provide the supporting information of Reduction/Release.\n\n\n\n\nNote: Updating an application before undertaking issuance would require a PUT operation, replacing all data with a newly proposed application. This component should not be used in that scenario.\n\nNote: Response for amendment/release/reduction should be done through the events resource.\n"
          $ref: '#/components/schemas/BankGuaranteeAmendment2Subset'
      required:
      - applicant_issuance_request_identification
      - undertaking_application_date
      - party
      - undertaking_amount
      - undertaking_terms_and_conditions
      - governance_rule_identification
      - presentation_medium

#############################
#   Notification Components #
#############################
    BankGuaranteeEvent:
      type: object
      description: CloudEvents data container for BankGuaranteeEventDetails1
      additionalProperties: false
      properties:
        data:
          $ref: '#/components/schemas/BankGuaranteeEventDetails1'
    BankGuaranteeEventDetails1:
      x-MXComponent: BankGuaranteeEventDetails1
      type: object
      description: Details to retrieve the bank guarantee workflow event.
      additionalProperties: false
      properties:
        event_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Technical Identification of the event.

            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        application_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Unique technical identification of the Undertaking as defined by the issuer's server. 
            
            Note: The applicant does not use this field when first submitting the application, but it should be used when subsequently updating the Undertaking details. Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          format: uuid
          # pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        undertaking_identification:
          x-MXComponent: RestrictedFINXMax16Text
          description: |
            Unique business identification of the undertaking. Filled in by the bank after issuance of the Undertaking, stays unique throughout the lifecycle of the Undertaking.

            Usage guideline: To ensure this field is globally unique, recommended to structure it as follows:

            BIC4 of the issuing bank (max4char) + unique reference (max12char)

            MT Mapping: field 20

            Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash "/" at the beginning and end of line and double slash "//" within the line.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^([0-9a-zA-Z\-\?:\(\)\.,'\+ ]([0-9a-zA-Z\-\?:\(\)\.,'\+ ]*(/[0-9a-zA-Z\-\?:\(\)\.,'\+ ])?)*)$
        events_platform_reference:
          x-MXComponent: UUIDv4Identifier
          description: |
            Unique technical reference assigned by the platform.


            Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          type: string
          pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
        originating_party:
          #  "Originator of the event.\n\nThe party identification can be one of the codes specified in the ISO ExternalTypeOfParty1Code list. \n\nOR\n\nIt can be a code agreed bilaterally.\n"
          $ref: '#/components/schemas/PartyIdentification281'
        event_type:
          x-MXComponent: ApplicationEventType1Code
          description: |
            Application Event Type.

            Type of a Bank Guarantee event, in a codified form.

            Code Name Definition:
            *`AMNA` - AmendmentAdvice - Undertaking Amendment Advice.
            *`AMNR` - AmendmentResponse - Undertaking Amendment Response.
            *`AMRQ` - AmendmentRequest - Undertaking Amendment Request.
            *`APLA` - ApplicationIssuanceAdvice - Undertaking Application Issuance Advice.
            *`APPL` - Application - Undertaking Application.
            *`CCSA` - ClaimChargesSettlementAdvice - Claim/Charges Settlement Advice.
            *`DMRQ` - DemandRequest - Demand Request.
            *`DMRS` - DemandResponse - Demand Response.
            *`RRAD` - ReductionReleaseAdvice - Reduction / Release Advice.
            *`RRRQ` - ReductionReleaseRequest - Reduction / Release Request.
            *`UNTN` - UndertakingTerminationNotice - Undertaking Termination Notice.
            *`WITH` - DemandWithdrawn - Demand Withdrawn.
            *`XTRQ` - ExtendOrPayRequest - Undertaking Extend or Pay request.
            *`XTRS` - ExtendOrPayResponse - Undertaking Extend or Pay response.
            *`FILE` - File Sent
          type: string
          enum:
          - AMNA
          - AMNR
          - AMRQ
          - APLA
          - APPL
          - CCSA
          - DMRQ
          - DMRS
          - RRAD
          - RRRQ
          - UNTN
          - WITH
          - XTRQ
          - XTRS
        event_date_time:
          x-MXComponent: ISODateTime
          description: |
            Date and Time of the event.

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.[0-9]+)?(?:Z|[+-][01]\d:[0-5]\d)?$
        amendment_impact:
          type: array
          description: |
            Proposed amendment(s) to the undertaking in a codified form.

            Amendment to a trade finance undertaking in a codified form.

            Code Name Definition:
            *`CTHR` - CounterUndertakingOtherAmendments - Any other amendments made to the undertaking.
            *`CUAD` - CounterUndertakingAmountDecrease - Indication of the amount of decrease to the undertaking amount.
            *`CUAI` - CounterUndertakingAmountIncrease - Indication of the amount of increase to the undertaking amount.
            *`CUDX` - CounterUndertakingExpiryDate - Specifies the new date when the undertaking will cease to be available.
            *`CUNB` - CounterUndertakingNewBeneficiary - Requested new beneficiary of the undertaking.
            *`CUTC` - CounterUndertakingTermsAndCondition - Requested new terms and conditions of the undertaking.
            *`CUXC` - CounterUndertakingNewExpiryCondition - Specifies the amended documentary condition that indicates when the undertaking will cease to be available.
            *`LTHR` - LocalUndertakingOtherAmendments - Any other amendments made to the local undertaking.
            *`LUAD` - LocalUndertakingAmountDecrease - Indication of the amount of decrease to the local undertaking amount.
            *`LUAI` - LocalUndertakingAmountIncrease - Indication of the amount of increase to the local undertaking amount.
            *`LUDX` - LocalUndertakingExpiryDate - Specifies the new date when the local undertaking will cease to be available.
            *`LUNB` - LocalUndertakingNewBeneficiary - Requested new beneficiary of the local undertaking.
            *`LUTC` - LocalUndertakingTermsAndCondition - Requested new terms and conditions of the local undertaking.
            *`LUXC` - LocalUndertakingNewExpiryCondition - Specifies the amended documentary condition that indicates when the local undertaking will cease to be available.
          items:
            x-MXComponent: AmendmentImpact1Code
            type: string
            enum:
            - CTHR
            - CUAD
            - CUAI
            - CUDX
            - CUNB
            - CUTC
            - CUXC
            - LTHR
            - LUAD
            - LUAI
            - LUDX
            - LUNB
            - LUTC
            - LUXC
        supporting_document:
          type: array
          description: |
            Document related to the Undertaking.

            USAGE:  should only be populated when Event Type = "FILE".
          items:
            $ref: '#/components/schemas/Document18'            
        last_date_for_extend_or_pay_response:
          x-MXComponent: ISODate
          description: |
            Last date for a response to the bank instructions.

            MT Mapping: field 31T of MT 798

            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.
          type: string
          pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
        status:
          description: |
            Specifies the reported status.
          $ref: '#/components/schemas/AdditionalStatusInformation1Choice'
        status_reason:
          x-MXComponent: Max4Text
          description: |
            Reason for the status, as published as ExternalStatusReason1Code in the external codes table on www.iso20022.org; or a bilaterally agreed code.

            Specifies a character string with a maximum length of 4 characters.
          type: string
          minLength: 1
          maxLength: 4
        additional_status_information:
          x-MXComponent: Max240Text
          description: |
            Further details on the status reason in textual format.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            Specifies a character string with a maximum length of 240 characters.
          type: string
          minLength: 1
          maxLength: 240
      required:
        - event_reference
        - event_type
        - additional_status_information
    ISONormalisedDateTime:
      type: string
      description: an ISODateTime whereby all timezoned dateTime values are UTC.
      pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.[0-9]+)?(?:Z)$
    NotificationRequest:
      allOf:
        - $ref: '#/components/schemas/CloudEventsEnvelope'
        - $ref: "#/components/schemas/BankGuaranteeEvent"

#########################
#   Common Components   #
#########################
    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
          format: uri
          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
    CloudEventsEnvelope:
      type: object
      properties:
        id:
          description: "A unique identifier for the event. MUST be unique within the scope of the event producer. MUST be a non-empty string."
          type: string
        source:
          description: "Identifies the context in which the event happened. Event producers MUST ensure that source + id is unique for each distinct event. MUST be a non-empty URI reference (absolute URI recommended)."
          type: string
          format: uri-reference
        specversion:
          description: "The version of the CloudEvents specification which the event uses. MUST be a non-empty string wth the version denoted as major.minor (e.g. '1.0')"
          type: string
        type: 
          description: "Describes the type of event related to the originating occurrence. MUST be a non-empty string. SHOULD be prefixed with a reverse DNS name."
          type: string
        datacontenttype:
          description: "The content type of the 'data' value."
          type: string
        dataschema:
          description: "Identifies the schema that 'data' adheres to. If present MUST be a non-empty URI - NOTE: For Swift events, dataschema MUST be supplied even though it remains optional in the specification as per the CloudEvents specification."
          type: string
          format: uri-reference
        subject:
          description: "This describes the subject of the event in the context of the event producer (identified by 'source'). A subscriber will typically subscribe to events emitted by a source, but the source identifier alone might not be sufficient as a qualifier for any specific event if the source context has internal sub-structure."
          type: string
        time:
          # Timestamp of when the event occurrence happened
          $ref: '#/components/schemas/ISONormalisedDateTime'
      required:
        - id
        - source
        - type
        - specversion
        - dataschema

#########################
#   Common Components   #
#########################
    Errors:
      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: false
      properties:
        severity:
          description: "Specifies the severity of the error."
          type: string
          enum:
            - Fatal
            - Transient
            - Logic
        code:
          description: "Specifies the custom error code as defined by the service provider."
          type: string
          minLength: 3
          maxLength: 70
        text:
          description: "Specifies the detail error message identifying the cause of the error."
          type: string
          minLength: 1
          maxLength: 255
        user_message:
          description: "A human-readable text describing the error."
          type: string
          minLength: 1
          maxLength: 255
        more_info:
          description: "Specifies an URL to find more information about the error."
          type: string
          format: uri
      required:
        - code
        - severity
        - text
  headers:
    Location:
      description: 'The Location response header containing the URI to the newly created resource.'
      schema:
        type: string
        format: uri
      example: 'https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1/trade-finance-undertakings/3fa85f64-5717-4562-b3fc-2c963f66afa6'
    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
    ETag:
      description: "An entity-tag, as defined in the RFC7232 ETag header field is an opaque identifier for the current versions of a resource. The subsequent PATCH/PUT requests should provide the ETag value in a If-match header field to implement optimistic concurrency control. If the server ETag value does not match with the provided ETag value, the error response 412 - precondition fail will be returned. This signifies the resource out of date."
      required: false
      schema:
        type: string
      example: "f88dd058fe004909615a64f01be66a7"
  parameters:
    If-Match:
      name: If-Match
      in: header
      description: "This header will contain the Etag of the resource representation to be manipulate. If the server ETag value does not match with the provided ETag value, the error response 412 - precondition fail will be returned. This signifies the resource is out of date."
      required: false
      schema:
        type: string
      example: "f88dd058fe004909615a64f01be66a7"
      # An example of the use of ETag in PATCH operation
      # PATCH /swift-trade-finance-undertakings/v1/trade-finance-undertakings/3fa85f64-5717-4562-b3fc-2c963f66afa6 HTTP/1.1
      # If-Match:f88dd058fe004909615a64f01be66a7
    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
        default: 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 endpoint, the endpoint will return the maximum permitted limit."
      required: false
      schema:
        type: integer
        minimum: 1
        default: 25
        maximum: 100
      example: 25
    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
      example: rrt-1130311210763048898-c-geu2-21394-2055157-17
    X-UserContext:
      name: X-UserContext
      in: header
      description: Provides requester entitlement information to service provider. A JWT containing a claim representing the entitlements of the API consumer as defined at the SWIFT Identity Provider. This header is provided by the SWIFT API Gateway and is not required to be provided by the API consumer.
      required: false
      schema:
        type: string
      example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIiLCJuYW1lIjoiIiwiaWF0IjowfQ.u_kftAUkjiUZO-OhIyj24H7lOUk1wi9GUF-e14JmCtQ'
    X-BIC:
      name: X-BIC
      in: header
      description: "Specify the BIC of the provider of the service. The identification will be used by the API Gateway to forward the request to service provider."
      required: true
      schema:
        type: string
      example: 'DEUTDEFF'
    application-reference:
        in: path
        name: application-reference
        style: simple
        explode: false
        description: |
          An unique and unambiguous identification of the Trade Finance Undertaking Application as assigned by the origin server. The value must be constant throughout the lifecycle of the application. On successful creation, the application can be retrieved using the application reference. This identification shall be used as a resource identifier for all state transition.
        required: true
        example: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
        schema:
          type: string
          format: uuid
    undertaking-identification:
        in: query
        name: undertaking-identification
        style: form
        explode: false
        description: |
          Globally unique identification of the Trade Finance Undertaking application. The value must be constant throughout the lifecycle of the account. This identification shall be used as a unique reference to support application lifecycle to support interoperability between API and other channel.

          Usage: The undertaking-identification must not be used in conjunction with any other filter criteria. The anticipation is that the value is unique to retrieve a specific application by the reference.
        required: false
        schema:
          type : string
          minLength: 1
          maxLength: 16
        example: BGREQ30122022-01
    applicant-issuance-request-identification:
        in: query
        name: applicant-issuance-request-identification
        style: form
        explode: false
        description: |
          Unique business reference of the Issuance Request, assigned by the applicant.

          Usage: The undertaking-identification must not be used in conjunction with any other filter criteria. The anticipation is that the value is unique to retrieve a specific application by the reference.
        required: false
        schema:
          type : string
          minLength: 1
          maxLength: 16
        example: 'XYZ999-123'
    application-date:
      in: query
      name: application-date
      style: form
      explode: false
      description: |
        Date on which the applicant lodge the application for issuance of Trade Finance Undertaking. Expressed in the YYYY-MM-DD format. The date cannot be in the future.
        
        Usage: The application-date must not be used in conjunction with application-from-date or application-to-date or issuance-date.
      required: false
      schema:
        type: string
        pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
      example: 2025-01-01
    application-from-date:
      in: query
      name: application-from-date
      style: form
      explode: false
      description: |
        Date on which the applicant lodge the application for issuance of Trade Finance Undertaking. Expressed in the YYYY-MM-DD format. The date cannot be in the future.

        Usage: The application-date must be used in conjunction with application-to-date. When used in conjunction with the application-to-date, the endpoint returns the application where the application date fall within that period.
      required: false
      schema:
        type: string
        pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
      example: '2023-05-22'
    application-to-date:
      in: query
      name: application-to-date
      style: form
      explode: false
      description: |
        Date on which the applicant lodge the application for issuance of Trade Finance Undertaking. Expressed in the YYYY-MM-DD format. The date cannot be in the future.

        Usage: The application-date must not be used in conjunction with application-from-date. When used in conjunction with the application-from-date, the endpoint returns the application where the application date fall within that period.
      required: false
      schema:
        type: string
        pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
      example: '2023-05-23'
    issuance-date:
      in: query
      name: issuance-date
      style: form
      explode: false
      description: Date on which the Trade Finance Undertaking is issued by the issuing bank. Expressed in the YYYY-MM-DD format. The date cannot be in the future.
      required: false
      schema:
        type: string
        pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
      example: '2023-05-23'
    application-lifecycle-status:
        in: query
        name: application-lifecycle-status
        style: form
        explode: false
        description: |
          Specifies the state of a Trade Finance Undertaking in its processing cycle.
          
          Type of Trade Finance Undertaking status, in a codified form.

          * AMNA - AmendmentAdvice - Undertaking Amendment Advice
          * AMNR - AmendmentResponse - Undertaking Amendment Response
          * AMRQ - AmendmentRequest - Undertaking Amendment Request.
          * APLA - ApplicationIssuanceAdvice - Undertaking Application Issuance Advice.
          * APPL - Application - Undertaking Application.
          * CCSA - ClaimChargesSettlementAdvice - Claim/Charges Settlement Advice.
          * DMRQ - DemandRequest - Demand Request.
          * DMRS - DemandResponse - Demand Response.
          * RRAD - ReductionReleaseAdvice - Reduction / Release Advice.
          * RRRQ - ReductionReleaseRequest - Reduction / Release Request. 
          * UNTN - UndertakingTerminationNotice - Undertaking Termination Notice.
          * WITH - DemandWithdrawn - Demand Withdrawn.
          * XTRQ - ExtendOrPayRequest - Undertaking Extend or Pay request.
          * XTRS - ExtendOrPayResponse - Undertaking Extend or Pay response.
        required: false
        schema:
          type : string
          enum:
            - AMNA
            - AMNR
            - AMRQ
            - APLA
            - APPL
            - CCSA
            - DMRQ
            - DMRS
            - RRAD
            - RRRQ
            - UNTN
            - WITH
            - XTRQ
            - XTRS
        example: 'APLA'          
    demand-reference:
        in: path
        name: demand-reference
        style: simple
        explode: false
        description: |
          Unique technical identification of the demand, as defined by the beneficiary's server.
        required: true
        example: '2fc40894-c552-40a2-97ca-7682ae09d077'
        schema:
          type: string
          format: uuid
    from-undertaking-issuance-date:
      in: query
      name: from-undertaking-issuance-date
      style: form
      explode: false
      description: |
        Date on which the Trade Finance Undertaking is issued by the issuing bank.
      required: false
      schema:
        type: string
        pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
      example: '2023-05-22'
    to-undertaking-issuance-date:
      in: query
      name: to-undertaking-issuance-date
      style: form
      explode: false
      description: |
        Date on which the Trade Finance Undertaking is issued by the issuing bank.
      required: false
      schema:
        type: string
        pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
      example: '2024-07-09'
    from-undertaking-expiry-date:
      in: query
      name: from-undertaking-expiry-date
      style: form
      explode: false
      description: |
        Date on which the Trade Finance Undertaking expires.
      required: false
      schema:
        type: string
        pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
      example: '2023-05-22'
    to-undertaking-expiry-date:
      in: query
      name: to-undertaking-expiry-date
      style: form
      explode: false
      description: |
        Date on which the Trade Finance Undertaking expires.
      required: false
      schema:
        type: string
        pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\d:[0-5]\d)?$
      example: '2024-07-09'
    from-undertaking-amount:
      in: query
      name: from-undertaking-amount
      style: form
      explode: false
      description: |
        Specifies the amount of the Undertaking.
      required: false
      schema:
        type: string
        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}))$
      example: '2000.00'
    to-undertaking-amount:
      in: query
      name: to-undertaking-amount
      style: form
      explode: false
      description: |
        Specifies the amount of the Undertaking.
      required: false
      schema:
        type: string
        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}))$
      example: '46563'
    undertaking-amount-currency:
      in: query
      name: undertaking-amount-currency
      style: form
      explode: false
      description: |
        Specifies the currency of the Undertaking amount.
      required: false
      schema:
        type: string
        pattern: ^[A-Z]{3,3}$
      example: 'EUR'
    applicant-bic:
      in: query
      name: applicant-bic
      style: form
      explode: false
      description: |
        Code allocated to a financial institution or non financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)".
      required: false
      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: 'REILINBB'
    applicant-lei:
      in: query
      name: applicant-lei
      style: form
      explode: false
      description: |
        Legal entity identifier of the financial institution.
      required: false
      schema:
        type: string
        pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
      example: '549300DTUYXVMJXZNY75'
    applicant-name:
      in: query
      name: applicant-name
      style: form
      explode: false
      description: |
        Specify the applicant name.
      required: false
      schema:
        type: string
        minLength: 1
        maxLength: 35
      example: 'ABC Industries Ltd'
    beneficiary-bic:
      in: query
      name: beneficiary-bic
      style: form
      explode: false
      description: |
        Code allocated to a financial institution or non financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)".
      required: false
      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: 'REILINBB'
    beneficiary-lei:
      in: query
      name: beneficiary-lei
      style: form
      explode: false
      description: |
        Legal entity identifier of the financial institution.
      required: false
      schema:
        type: string
        pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
      example: '549300DTUYXVMJXZNY75'
    beneficiary-name:
      in: query
      name: beneficiary-name
      style: form
      explode: false
      description: |
        Specify the beneficiary name.
      required: false
      schema:
        type: string
        minLength: 1
        maxLength: 35
      example: 'XYZ Industries Ltd'
  responses:
    400-BadRequest:
      description: 'Bad Request'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    401-Unauthorized:
      description: 'Unauthorized'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    403-Forbidden:
      description: 'Forbidden'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    404-NotFound:
      description: 'Not Found'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    405-MethodNotAllowed:
      description: 'Method Not Allowed'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    406-NotAcceptable:
      description: 'Not Acceptable'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    407-ProxyAuthenticationRequired:
      description: 'Proxy Authentication Required'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    409-Conflict:
      description: 'Conflict'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    410-Gone:
      description: 'Gone'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    412-PreconditionFailed:
      description: 'Precondition Failed'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    413-PayloadTooLarge:
      description: 'Payload Too Large'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    414-URITooLong:
      description: 'URI Too Long'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    415-UnsupportedMediaType:
      description: 'Unsupported Media Type'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    429-TooManyRequests:
      description: 'Too Many Requests'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    500-InternalServerError:
      description: 'Internal Server Error'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    502-BadGateway:
      description: 'Bad Gateway'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              
    503-ServiceUnavailable:
      description: 'Service Unavailable'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'   
    504-GatewayTimeout:
      description: 'Gateway Timeout'
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Errors'
              - $ref: '#/components/schemas/ErrorMessage'              

###########################
#  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 for consumption 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.
    oAuth2:
      type: oauth2
      description: |
        This API uses OAuth2 with the client credentials grant type for service provider API gateway integration. Used between an end SWIFT API gateway and service provider API gateway.
        
        Please visit [SWIFT OAuth Token API](https://developer.swift.com/swift-oauth-token-api) for more information and examples.
      flows:
        clientCredentials:
          tokenUrl: /v1/oauth2/token
          scopes: {}

  examples:
  #################################
  # BG application examples      #
  #################################

    CreateBankGuaranteeEx-1:
      summary: Example-1 - Application for issuance of Guarantee
      value:
        platform_reference: 'e5d5adfc-4e60-46f6-a6c9-3a287aa6f39b'
        applicant_issuance_request_identification: 'BGREQ24112022-01'
        issuer_acknowledgement_identification: 'BG24112022-Ack01'
        undertaking_identification: 'BG24112022-001'
        third_party_issuance_request_identification: 'ClientID1234'
        undertaking_form: 'STBY'
        undertaking_application_date: '2023-01-03'
        issuance_type: 'STND'
        undertaking_type: 'PERF'
        undertaking_text_purpose: 'FINL'
        undertaking_wording_type: 'STND'
        standard_wording_language: 'en'
        party:
          - type: 'APPL'
            identification: 'CUST1234'
            any_bic: 'SWHQBEBBXXX'
            name: 'SWIFT High Fidelity Components, Ltd'
            address_line:
              - '1 Austin Rd West'
            country: 'HK'
            contact_name: 'Mukta Tom'
            contact_phone_number: '+001-85222221113'
            contact_email_address: 'muktatom@swifthifi.com'
        undertaking_amount:
          currency: 'USD'
          amount: '30000.00'
        expiry_type: 'OPEN'
        undertaking_expiry_date: '2023-03-20'
        confirmation_instructions: 'WITHOUT'
        undertaking_terms_and_conditions:
          - 'N/A'
        liability_account:
          iban: 'AT611904300234573201'
          # additionalProp1: {}
        auto_extension_period:
          days: '123456789012345678'
          # additionalProp1: {}
        auto_extension_final_expiry_date: '2024-03-20'
        auto_extension_notification_period: '30'
        governance_rule_identification: 'URDG'
        applicable_law_or_jurisdiction:
          country: 'IN'
          narrative: 'Mumbai, India'
        underlying_transaction_amount:
          currency: 'EUR'
          amount: '6545.56'
        underlying_transaction_amount_percentage: '35'
        presentation_instructions: 'We undersigned --- (bank) hereby irrevocably and unconditionally undertake to pay to yourselves or your order immediately and within 3 calendar days from receipt of your first demand by facsimile and/or letter signed by your President Director or Vice President Director or your authorized representative, any amount up to EUR 1.830.000,00 (say: Euro Dollar one million Eight hundred thirty thousand) notwithstanding any challenge whatsoever'
        presentation_document:
          - wording: 'Wording for commercial invoice document'
            electronic_details:
              - format: 'DPDF'
                channel: 'EMAL'
                address: 'muktatom@swifthifi.com'
            file_name: 'INV20221110'
        presentation_medium: 'ELEC'
        presentation_representation:
          place_of_presentation:
            place: 'ADVP'
            country: 'IN'
          # additionalProp1: {}
        partial_demand: 'NMPT'
        transfer_indicator: false
        charge:
          - charges_payable_by: 'APPL'
            charges_account:
              iban: 'AT611904300234573201'
              # additionalProp1: {}
            charge_amount:
              currency: 'EUR'
              amount: '6545.56'
        delivery_channel_method: 'COUR'
        deliver_to_party_type: 'ISSU'
        deliver_to_name: 'Tom Kadam'
        deliver_to_tracking_reference: 'DHLtrackingid123'
        deliver_to_electronic_details:
          - format: 'DPDF'
            channel: 'EMAL'
            address: 'muktatom@swifthifi.com'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: '123456891'
            undertaking_document_format: 'DPDF'
            file_name: 'INV20221110'
            issue_date: '2022-11-22'
            linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
            digital_signature:
              name: 'SWIFT High Fidelity Components, Ltd'
              digital_signature: 'WVQBkxo"6&L'
        instructions_to_bank: 'Dear Louise, please consider our bank guarantee application...'
        application_advice_information: 'Everything validated.'
        amendment_request_supporting_information:
          amendment_request_identification: 'BGAMDREQ2022-001'
          amendment_platform_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
          amendment_sequence_number: '001'
          amendment_request_date: '2022-11-22'
          amendment_date: '2023-04-20'
          undertaking_amendment_instruction_purpose: 'ICCA'
          amendment_impact:
            - 'CUAD'
          undertaking_termination_request: false
          undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '6545.56'
            # additionalProp1: {}
          new_undertaking_terms_and_conditions:
            - 'Information related to the amendment'
          counter_undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '6545.56'
            # additionalProp1: {}
          new_counter_undertaking_terms_and_condition: 'Information related to counter undertaking amendment'
          delivery_channel_method: 'COUR'
          deliver_to_party_type: 'ISSU'
          deliver_to_name: 'Louise TD'
          deliver_to_address:
            - 'ABC Lane'
          deliver_to_tracking_reference: 'DHLtrackingid123'
          reduction_release:
            undertaking_release_reduction_date: '2023-04-22'
            undertaking_release_reduction_reason: 'BUFI'
            reduced_or_released_amount:
              currency: 'USD'
              amount: '5000.00'
            outstanding_amount:
              currency: 'USD'
              amount: '25000.00'
            account_with_bank:
              any_bic: 'SWHQBEBBXXX'
              lei: 'QG18SURWG4MGQJSV7N86'
              name: 'SWIFT High Fidelity Components, Ltd'
              address_line:
                - '1 Austin Rd West'
              country: 'HK'
          supporting_document:
            - undertaking_document_type: 'CINV'
              undertaking_document_identification: '123456891'
              undertaking_document_format: 'DPDF'
              file_name: 'INV20221110'
              issue_date: '2022-11-22'
              linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
              digital_signature:
                name: 'SWIFT High Fidelity Components, Ltd.'
                digital_signature: 'kUI5,hV2AWZeHo77 EJ163kDxbpO41S3?Xvv?'
          additional_information: 'Dear account manager,. ...'

    CreateBankGuaranteeEx-2:
      summary: Example-2 - Application for issuance of Guarantee
      value: 
        # application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
        platform_reference: 'f2d392df-ac9f-48ca-9708-6bfedafd1661'
        applicant_issuance_request_identification: 'BGREQ20240718191'
        issuer_acknowledgement_identification: 'BANK20240718-01'
        undertaking_identification: 'BG202407181234'
        third_party_issuance_request_identification: 'VEN20240718-01'
        undertaking_status: 'APLA'
        undertaking_form: 'STBY'
        undertaking_application_date: '2024-07-18'
        undertaking_issuance_date: '2024-08-01'
        issuance_type: 'ISCO'
        undertaking_type: 'PERF'
        undertaking_text_purpose: 'FINL'
        undertaking_wording_type: 'WDAP'
        undertaking_wording_narrative: 'Used when wording is Other.'
        standard_wording_language: 'en'
        party:
          - type: 'APPL'
            identification: 'CUST1912391'
            issuer: 'LocalIssuer'
            any_bic: 'M1JVQB6W'
            lei: 'EVACBUZGOQCYA3Q4EJ67'
            name: 'ABC Company Ltd.'
            address_line:
              - 'La Hulpe, Brussels'
            country: 'BE'
            contact_name: 'Patrick Peters'
            contact_phone_number: '+00-32495300220'
            contact_email_address: 'Patrick.peters@abc.com'
            additional_details: 'Contact Patrick'
        undertaking_amount:
          currency: 'EUR'
          amount: '827649'
        undertaking_amount_additional_information: 'Kindly confirm the final charges'
        expiry_type: 'COND'
        undertaking_expiry_date: '2025-08-01'
        undertaking_expiry_condition: 'Expiry condition 1'
        confirmation_instructions: 'CONFIRM'
        undertaking_terms_and_conditions:
          - 'We irrevocably undertake to refund to you without delay upon receipt of your first written demand and upon receipt of document(s) specified.'
        liability_account:
          iban: 'BE68539007547034'
          # additionalProp1: {}
        auto_extension_period:
          days: '60'
          # additionalProp1: {}
        auto_extension_final_expiry_date: '2025-02-21'
        auto_extension_notification_period: '50'
        auto_extension_non_extension_notification_narrative: 'Narrative'
        governance_rule_identification: 'ISPR'
        governance_rule_narrative: 'Narrative'
        applicable_law_or_jurisdiction:
          country: 'EU'
          narrative: 'Europe'
        underlying_transaction_type: 'CONT'
        underlying_transaction_identification: 'TRN1234'
        underlying_transaction_date: '2024-07-12'
        underlying_tender_closing_date: '2024-07-18'
        underlying_transaction_amount:
          currency: 'EUR'
          amount: '828050'
        underlying_transaction_amount_percentage: '10'
        underlying_transaction_additional_info: 'Information'
        presentation_instructions: 'Beneficiary’s signed statement certifying that the Applicant has failed to fulfill his contractual obligations in respect of the terms and conditions specified and that Beneficiary is therefore entitled to claim the sum in Beneficiary’s said written demand.'
        presentation_document:
          - wording: 'Standard Wording'
            electronic_details:
              - format: 'DPDF'
                channel: 'SWFA'
                address: 'hehehaha@abcxys.com'
                additional_details: 'When format is other.'
            file_name: 'CONT20240718'
        presentation_medium: 'BOTH'
        presentation_representation:
          place_of_presentation:
            place: 'ADVP'
            country: 'SG'
          # additionalProp1: {}
        partial_demand: 'NMLT'
        transfer_indicator: true
        transfer_conditions: 'conditions'
        charge:
          - charge_type: 'COMM'
            charges_payable_by: 'ADVP'
            charges_account:
              iban: 'FR1420041010050500013M02606'
              # additionalProp1: {}
            charge_amount:
              currency: 'EUR'
              amount: '4390'
        delivery_channel_method: 'SWFA'
        deliver_to_party_type: 'ADVP'
        deliver_to_name: 'MJ Thomas'
        deliver_to_address:
          - 'Eiffel Tower, France'
        deliver_to_tracking_reference: 'FA-TRCK12324'
        deliver_to_electronic_details:
          - format: 'DPDF'
            channel: 'SWFA'
            address: 'mjthomas@ret.com'
            additional_details: 'Details'
        additional_deliver_to_details: 'Please deliver here.'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: 'CINV20240718-22'
            undertaking_document_format: 'DPDF'
            file_name: 'CINV202407-11'
            issue_date: '2025-05-11'
            linked_url_address: 'https://www.abccompanylimited.com/downloads/CUST1912391-10.pdf'
            digital_signature:
              name: 'ABC Company Ltd.'
              digital_signature: 'signature'
            additional_details: 'Extra info'
        instructions_to_bank: 'Please pay attention'
        application_advice_information: 'Advice Info'
        amendment_request_supporting_information:
          amendment_request_identification: 'BGAMD20240825-34'
          amendment_platform_reference: 'd2f2b6e2-b475-44fc-85db-8c3e8af200b2'
          amendment_sequence_number: '001'
          amendment_request_date: '2024-08-25'
          amendment_date: '2024-09-25'
          undertaking_amendment_instruction_purpose: 'ICCA'
          amendment_impact:
            - 'CUDX'
          undertaking_termination_request: false
          undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '901232'
            # additionalProp1: {}
          new_undertaking_terms_and_conditions:
            - 'new terms'
          counter_undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '901232'
            # additionalProp1: {}
          new_counter_undertaking_terms_and_condition: 'new terms'
          delivery_channel_method: 'SWFA'
          deliver_to_party_type: 'ANYB'
          deliver_to_name: 'Michael Dobbing'
          deliver_to_address:
            - 'Unit 1203, Working Street'
          deliver_to_tracking_reference: 'DHL-12244'
          additional_deliver_to_details: 'Delivery details'
          reduction_release:
            undertaking_release_reduction_date: '2025-08-01'
            undertaking_release_reduction_reason: 'WOEX'
            reduced_or_released_amount:
              currency: 'EUR'
              amount: '901232'
            outstanding_amount:
              currency: 'EUR'
              amount: '901232'
            amount_additional_information: 'Information'
            account_with_bank:
              any_bic: 'DV8STXJC'
              lei: 'PT1SWI2PJ4EJQQIBSR02'
              name: 'XYZ Bank'
              address_line:
                - 'XYZ lane'
              location: 'Singapore'
              country: 'SG'
          supporting_document:
            - undertaking_document_type: 'CINV'
              undertaking_document_identification: 'DOC1234'
              undertaking_document_format: 'WORD'
              file_name: '1234DOC'
              issue_date: '2024-09-01'
              linked_url_address: 'https://www.abccompanylimited.com/downloads/CUST1912391-54.doc'
              digital_signature:
                name: 'XYZ Name'
                digital_signature: 'signature'
              additional_details: 'Additional details'
          additional_information: 'Additional info'

    GETBankGuaranteeResponseCollectionEx-1:
      summary: Example-1 - Get a list of bank guarantee application
      value:
        trade_finance_instruction:
          - application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
            platform_reference: 'e5d5adfc-4e60-46f6-a6c9-3a287aa6f39b'
            applicant_issuance_request_identification: 'BGREQ24112022-01'
            issuer_acknowledgement_identification: 'BG24112022-Ack01'
            undertaking_identification: 'BG24112022-001'
            third_party_issuance_request_identification: 'ClientID1234'
            undertaking_status: 'AMRQ'
            undertaking_form: 'STBY'
            undertaking_application_date: '2023-01-03'
            issuance_type: 'STND'
            undertaking_type: 'PERF'
            undertaking_text_purpose: 'FINL'
            undertaking_wording_type: 'STND'
            standard_wording_language: 'en'
            party:
              - type: 'APPL'
                identification: 'CUST1234'
                any_bic: 'SWHQBEBBXXX'
                name: 'SWIFT High Fidelity Components, Ltd'
                address_line:
                  - '1 Austin Rd West'
                country: 'HK'
                contact_name: 'Mukta Tom'
                contact_phone_number: '+001-85222221113'
                contact_email_address: 'muktatom@swifthifi.com'
            undertaking_amount:
              currency: 'USD'
              amount: '30000.00'
            expiry_type: 'OPEN'
            undertaking_expiry_date: '2023-03-20'
            confirmation_instructions: 'WITHOUT'
            undertaking_terms_and_conditions:
              - 'N/A'
            liability_account:
              iban: 'AT611904300234573201'
              # additionalProp1: {}
            auto_extension_period:
              days: '123456789012345678'
              # additionalProp1: {}
            auto_extension_final_expiry_date: '2024-03-20'
            auto_extension_notification_period: '30'
            governance_rule_identification: 'URDG'
            applicable_law_or_jurisdiction:
              country: 'IN'
              narrative: Mumbai, India
            underlying_transaction_amount:
              currency: 'EUR'
              amount: '6545.56'
            underlying_transaction_amount_percentage: '35'
            presentation_instructions: 'We undersigned --- (bank) hereby irrevocably and unconditionally undertake to pay to yourselves or your order immediately and within 3 calendar days from receipt of your first demand by facsimile and/or letter signed by your President Director or Vice President Director or your authorized representative, any amount up to EUR 1.830.000,00 (say: Euro Dollar one million Eight hundred thirty thousand) notwithstanding any challenge whatsoever'
            presentation_document:
              - wording: 'Wording for commercial invoice document'
                electronic_details:
                  - format: 'DPDF'
                    channel: 'EMAL'
                    address: 'muktatom@swifthifi.com'
                file_name: 'INV20221110'
            presentation_medium: 'ELEC'
            presentation_representation:
              place_of_presentation:
                place: 'ADVP'
                country: 'IN'
              # additionalProp1: {}
            partial_demand: 'NMPT'
            transfer_indicator: false
            charge:
              - charges_payable_by: 'APPL'
                charges_account:
                  iban: 'AT611904300234573201'
                  # additionalProp1: {}
                charge_amount:
                  currency: 'EUR'
                  amount: '6545.56'
            delivery_channel_method: 'COUR'
            deliver_to_party_type: 'ISSU'
            deliver_to_name: 'Tom Kadam'
            deliver_to_tracking_reference: 'DHLtrackingid123'
            deliver_to_electronic_details:
              - format: 'DPDF'
                channel: 'EMAL'
                address: 'muktatom@swifthifi.com'
            supporting_document:
              - undertaking_document_type: 'CINV'
                undertaking_document_identification: '123456891'
                undertaking_document_format: 'DPDF'
                file_name: 'INV20221110'
                issue_date: '2022-11-22'
                linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
                digital_signature:
                  name: 'SWIFT High Fidelity Components, Ltd'
                  digital_signature: 'WVQBkxo"6&L'
            instructions_to_bank: 'Dear Louise, please consider our bank guarantee application...'
            application_advice_information: 'Everything validated.'
            amendment_request_supporting_information:
              amendment_request_identification: 'BGAMDREQ2022-001'
              amendment_platform_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
              amendment_sequence_number: '001'
              amendment_request_date: '2022-11-22'
              amendment_date: '2023-04-20'
              undertaking_amendment_instruction_purpose: 'ICCA'
              amendment_impact:
                - 'CUAD'
              undertaking_termination_request: false
              undertaking_increase_decrease_amount:
                increase_amount:
                  currency: 'EUR'
                  amount: '6545.56'
                # additionalProp1: {}
              new_undertaking_terms_and_conditions:
                - 'Information related to the amendment'
              counter_undertaking_increase_decrease_amount:
                increase_amount:
                  currency: 'EUR'
                  amount: '6545.56'
                # additionalProp1: {}
              new_counter_undertaking_terms_and_condition: 'Information related to counter undertaking amendment'
              delivery_channel_method: 'COUR'
              deliver_to_party_type: 'ISSU'
              deliver_to_name: 'Louise TD'
              deliver_to_address:
                - 'ABC Lane'
              deliver_to_tracking_reference: 'DHLtrackingid123'
              reduction_release:
                undertaking_release_reduction_date: '2023-04-22'
                undertaking_release_reduction_reason: 'BUFI'
                reduced_or_released_amount:
                  currency: 'USD'
                  amount: '5000.00'
                outstanding_amount:
                  currency: 'USD'
                  amount: '25000.00'
                account_with_bank:
                  any_bic: 'SWHQBEBBXXX'
                  lei: 'QG18SURWG4MGQJSV7N86'
                  name: 'SWIFT High Fidelity Components, Ltd'
                  address_line:
                    - '1 Austin Rd West'
                  country: 'HK'
              supporting_document:
                - undertaking_document_type: 'CINV'
                  undertaking_document_identification: '123456891'
                  undertaking_document_format: 'DPDF'
                  file_name: 'INV20221110'
                  issue_date: '2022-11-22'
                  linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
                  digital_signature:
                    name: 'SWIFT High Fidelity Components, Ltd.'
                    digital_signature: 'kUI5,hV2AWZeHo77 EJ163kDxbpO41S3?Xvv?'
              additional_information: 'Dear account manager,. ...'
          - application_reference: 'd74d1894-71dc-43c6-aa64-062707479c50'
            platform_reference: 'e5d5adfc-4e60-46f6-a6c9-3a287aa6f39b'
            applicant_issuance_request_identification: 'BGREQ24112022-01'
            issuer_acknowledgement_identification: 'BG24112022-Ack01'
            undertaking_identification: 'BG24112022-001'
            third_party_issuance_request_identification: 'ClientID1234'
            undertaking_status: 'AMRQ'
            undertaking_form: 'STBY'
            undertaking_application_date: '2023-01-03'
            issuance_type: 'STND'
            undertaking_type: 'PERF'
            undertaking_text_purpose: 'FINL'
            undertaking_wording_type: 'STND'
            standard_wording_language: 'en'
            party:
              - type: 'APPL'
                identification: 'CUST1234'
                any_bic: 'SWHQBEBBXXX'
                name: 'SWIFT High Fidelity Components, Ltd'
                address_line:
                  - '1 Austin Rd West'
                country: 'HK'
                contact_name: 'Mukta Tom'
                contact_phone_number: '+001-85222221113'
                contact_email_address: 'muktatom@swifthifi.com'
            undertaking_amount:
              currency: 'USD'
              amount: '30000.00'
            expiry_type: 'OPEN'
            undertaking_expiry_date: '2023-03-20'
            confirmation_instructions: 'WITHOUT'
            undertaking_terms_and_conditions:
              - 'N/A'
            liability_account:
              iban: 'AT611904300234573201'
            auto_extension_period:
              days: '123456789012345678'
            auto_extension_final_expiry_date: '2024-03-20'
            auto_extension_notification_period: '30'
            governance_rule_identification: 'URDG'
            applicable_law_or_jurisdiction:
              country: 'IN'
              narrative: Mumbai, India
            underlying_transaction_amount:
              currency: 'EUR'
              amount: '6545.56'
            underlying_transaction_amount_percentage: '35'
            presentation_instructions: 'We undersigned --- (bank) hereby irrevocably and unconditionally undertake to pay to yourselves or your order immediately and within 3 calendar days from receipt of your first demand by facsimile and/or letter signed by your President Director or Vice President Director or your authorized representative, any amount up to EUR 1.830.000,00 (say: Euro Dollar one million Eight hundred thirty thousand) notwithstanding any challenge whatsoever'
            presentation_document:
              - wording: 'Wording for commercial invoice document'
                electronic_details:
                  - format: 'DPDF'
                    channel: 'EMAL'
                    address: 'muktatom@swifthifi.com'
                file_name: 'INV20221110'
            presentation_medium: 'ELEC'
            presentation_representation:
              place_of_presentation:
                place: 'ADVP'
                country: 'IN'
            partial_demand: 'NMPT'
            transfer_indicator: false
            charge:
              - charges_payable_by: 'APPL'
                charges_account:
                  iban: 'AT611904300234573201'
                charge_amount:
                  currency: 'EUR'
                  amount: '6545.56'
            delivery_channel_method: 'COUR'
            deliver_to_party_type: 'ISSU'
            deliver_to_name: 'Tom Kadam'
            deliver_to_tracking_reference: 'DHLtrackingid123'
            deliver_to_electronic_details:
              - format: 'DPDF'
                channel: 'EMAL'
                address: 'muktatom@swifthifi.com'
            supporting_document:
              - undertaking_document_type: 'CINV'
                undertaking_document_identification: '123456891'
                undertaking_document_format: 'DPDF'
                file_name: 'INV20221110'
                issue_date: '2022-11-22'
                linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
                digital_signature:
                  name: 'SWIFT High Fidelity Components, Ltd'
                  digital_signature: 'WVQBkxo"6&L'
            instructions_to_bank: 'Dear Louise, please consider our bank guarantee application...'
            application_advice_information: 'Everything validated.'
            amendment_request_supporting_information:
              amendment_request_identification: 'BGAMDREQ2022-001'
              amendment_platform_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
              amendment_sequence_number: '001'
              amendment_request_date: '2022-11-22'
              amendment_date: '2023-04-20'
              undertaking_amendment_instruction_purpose: 'ICCA'
              amendment_impact:
                - 'CUAD'
              undertaking_termination_request: false
              undertaking_increase_decrease_amount:
                increase_amount:
                  currency: 'EUR'
                  amount: '6545.56'
              new_undertaking_terms_and_conditions:
                - 'Information related to the amendment'
              counter_undertaking_increase_decrease_amount:
                increase_amount:
                  currency: 'EUR'
                  amount: '6545.56'
              new_counter_undertaking_terms_and_condition: 'Information related to counter undertaking amendment'
              delivery_channel_method: 'COUR'
              deliver_to_party_type: 'ISSU'
              deliver_to_name: 'Louise TD'
              deliver_to_address:
                - 'ABC Lane'
              deliver_to_tracking_reference: 'DHLtrackingid123'
              reduction_release:
                undertaking_release_reduction_date: '2023-04-22'
                undertaking_release_reduction_reason: 'BUFI'
                reduced_or_released_amount:
                  currency: 'USD'
                  amount: '5000.00'
                outstanding_amount:
                  currency: 'USD'
                  amount: '25000.00'
                account_with_bank:
                  any_bic: 'SWHQBEBBXXX'
                  lei: 'QG18SURWG4MGQJSV7N86'
                  name: 'SWIFT High Fidelity Components, Ltd'
                  address_line:
                    - '1 Austin Rd West'
                  country: 'HK'
              supporting_document:
                - undertaking_document_type: 'CINV'
                  undertaking_document_identification: '123456891'
                  undertaking_document_format: 'DPDF'
                  file_name: 'INV20221110'
                  issue_date: '2022-11-22'
                  linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
                  digital_signature:
                    name: 'SWIFT High Fidelity Components, Ltd.'
                    digital_signature: 'kUI5,hV2AWZeHo77 EJ163kDxbpO41S3?Xvv?'
              additional_information: 'Dear account manager,. ...'
        links:
          - href: 'https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1/trade-finance-undertakings?limit=25,offset=0'
            rel: 'self'
            type: 'GET'
          - href: 'https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1/trade-finance-undertakings?limit=25,offset=0'
            rel: 'first'
            type: 'GET'
          - href: 'https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1/trade-finance-undertakings?limit=25,offset=100'
            rel: 'next'
            type: 'GET'
          - href: 'https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1/trade-finance-undertakings?limit=25,offset=75'
            rel: 'previous'
            type: 'GET'
          - href: 'https://api.swiftnet.sipn.swift.com/swift-trade-finance-undertakings/v1/trade-finance-undertakings?limit=25,offset=175'
            rel: 'last'
            type: 'GET'

    GETBankGuaranteeResponseCollectionEx-2:
      summary: Example-2 - No record found
      value:
        trade_finance_instruction: []

    GETBankGuaranteeResponseEx-1:
      summary: Example-1 - Get a bank guarantee application by Id
      value:
        application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
        platform_reference: 'e5d5adfc-4e60-46f6-a6c9-3a287aa6f39b'
        applicant_issuance_request_identification: 'BGREQ24112022-01'
        issuer_acknowledgement_identification: 'BG24112022-Ack01'
        undertaking_identification: 'BG24112022-001'
        third_party_issuance_request_identification: 'ClientID1234'
        undertaking_status: 'AMRQ'
        undertaking_form: 'STBY'
        undertaking_application_date: '2023-01-03'
        issuance_type: 'STND'
        undertaking_type: 'PERF'
        undertaking_text_purpose: 'FINL'
        undertaking_wording_type: 'STND'
        standard_wording_language: 'en'
        party:
          - type: 'APPL'
            identification: 'CUST1234'
            any_bic: 'SWHQBEBBXXX'
            name: 'SWIFT High Fidelity Components, Ltd'
            address_line:
              - '1 Austin Rd West'
            country: 'HK'
            contact_name: 'Mukta Tom'
            contact_phone_number: '+001-85222221113'
            contact_email_address: 'muktatom@swifthifi.com'
        undertaking_amount:
          currency: 'USD'
          amount: '30000.00'
        expiry_type: 'OPEN'
        undertaking_expiry_date: '2023-03-20'
        confirmation_instructions: 'WITHOUT'
        undertaking_terms_and_conditions:
          - 'N/A'
        liability_account:
          iban: 'AT611904300234573201'
          # additionalProp1: {}
        auto_extension_period:
          days: '123456789012345678'
          # additionalProp1: {}
        auto_extension_final_expiry_date: '2024-03-20'
        auto_extension_notification_period: '30'
        governance_rule_identification: 'URDG'
        applicable_law_or_jurisdiction:
          country: 'IN'
          narrative: Mumbai, India
        underlying_transaction_amount:
          currency: 'EUR'
          amount: '6545.56'
        underlying_transaction_amount_percentage: '35'
        presentation_instructions: 'We undersigned --- (bank) hereby irrevocably and unconditionally undertake to pay to yourselves or your order immediately and within 3 calendar days from receipt of your first demand by facsimile and/or letter signed by your President Director or Vice President Director or your authorized representative, any amount up to EUR 1.830.000,00 (say: Euro Dollar one million Eight hundred thirty thousand) notwithstanding any challenge whatsoever'
        presentation_document:
          - wording: 'Wording for commercial invoice document'
            electronic_details:
              - format: 'DPDF'
                channel: 'EMAL'
                address: 'muktatom@swifthifi.com'
            file_name: 'INV20221110'
        presentation_medium: 'ELEC'
        presentation_representation:
          place_of_presentation:
            place: 'ADVP'
            country: 'IN'
          # additionalProp1: {}
        partial_demand: 'NMPT'
        transfer_indicator: false
        charge:
          - charges_payable_by: 'APPL'
            charges_account:
              iban: 'AT611904300234573201'
              # additionalProp1: {}
            charge_amount:
              currency: 'EUR'
              amount: '6545.56'
        delivery_channel_method: 'COUR'
        deliver_to_party_type: 'ISSU'
        deliver_to_name: 'Tom Kadam'
        deliver_to_tracking_reference: 'DHLtrackingid123'
        deliver_to_electronic_details:
          - format: 'DPDF'
            channel: 'EMAL'
            address: 'muktatom@swifthifi.com'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: '123456891'
            undertaking_document_format: 'DPDF'
            file_name: 'INV20221110'
            issue_date: '2022-11-22'
            linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
            digital_signature:
              name: 'SWIFT High Fidelity Components, Ltd'
              digital_signature: 'WVQBkxo"6&L'
        instructions_to_bank: 'Dear Louise, please consider our bank guarantee application...'
        application_advice_information: 'Everything validated.'
        amendment_request_supporting_information:
          amendment_request_identification: 'BGAMDREQ2022-001'
          amendment_platform_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
          amendment_sequence_number: '001'
          amendment_request_date: '2022-11-22'
          amendment_date: '2023-04-20'
          undertaking_amendment_instruction_purpose: 'ICCA'
          amendment_impact:
            - 'CUAD'
          undertaking_termination_request: false
          undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '6545.56'
            # additionalProp1: {}
          new_undertaking_terms_and_conditions:
            - 'Information related to the amendment'
          counter_undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '6545.56'
            # additionalProp1: {}
          new_counter_undertaking_terms_and_condition: 'Information related to counter undertaking amendment'
          delivery_channel_method: 'COUR'
          deliver_to_party_type: 'ISSU'
          deliver_to_name: 'Louise TD'
          deliver_to_address:
            - 'ABC Lane'
          deliver_to_tracking_reference: 'DHLtrackingid123'
          reduction_release:
            undertaking_release_reduction_date: '2023-04-22'
            undertaking_release_reduction_reason: 'BUFI'
            reduced_or_released_amount:
              currency: 'USD'
              amount: '5000.00'
            outstanding_amount:
              currency: 'USD'
              amount: '25000.00'
            account_with_bank:
              any_bic: 'SWHQBEBBXXX'
              lei: 'QG18SURWG4MGQJSV7N86'
              name: 'SWIFT High Fidelity Components, Ltd'
              address_line:
                - '1 Austin Rd West'
              country: 'HK'
          supporting_document:
            - undertaking_document_type: 'CINV'
              undertaking_document_identification: '123456891'
              undertaking_document_format: 'DPDF'
              file_name: 'INV20221110'
              issue_date: '2022-11-22'
              linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
              digital_signature:
                name: 'SWIFT High Fidelity Components, Ltd.'
                digital_signature: 'kUI5,hV2AWZeHo77 EJ163kDxbpO41S3?Xvv?'
          additional_information: 'Dear account manager,. ...'
        
    GETBankGuaranteeResponseEx-2:
      summary: Example-2 - Get a bank guarantee application by Id
      value: 
        application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
        platform_reference: 'f2d392df-ac9f-48ca-9708-6bfedafd1661'
        applicant_issuance_request_identification: 'BGREQ20240718191'
        issuer_acknowledgement_identification: 'BANK20240718-01'
        undertaking_identification: 'BG202407181234'
        third_party_issuance_request_identification: 'VEN20240718-01'
        undertaking_status: 'APLA'
        undertaking_form: 'STBY'
        undertaking_application_date: '2024-07-18'
        undertaking_issuance_date: '2024-08-01'
        issuance_type: 'ISCO'
        undertaking_type: 'PERF'
        undertaking_text_purpose: 'FINL'
        undertaking_wording_type: 'WDAP'
        undertaking_wording_narrative: 'Used when wording is Other.'
        standard_wording_language: 'en'
        party:
          - type: 'APPL'
            identification: 'CUST1912391'
            issuer: 'LocalIssuer'
            any_bic: 'M1JVQB6W'
            lei: 'EVACBUZGOQCYA3Q4EJ67'
            name: 'ABC Company Ltd.'
            address_line:
              - 'La Hulpe, Brussels'
            country: 'BE'
            contact_name: 'Patrick Peters'
            contact_phone_number: '+00-32495300220'
            contact_email_address: 'Patrick.peters@abc.com'
            additional_details: 'Contact Patrick'
        undertaking_amount:
          currency: 'EUR'
          amount: '827649'
        undertaking_amount_additional_information: 'Kindly confirm the final charges'
        expiry_type: 'COND'
        undertaking_expiry_date: '2025-08-01'
        undertaking_expiry_condition: 'Expiry condition 1'
        confirmation_instructions: 'CONFIRM'
        undertaking_terms_and_conditions:
          - 'We irrevocably undertake to refund to you without delay upon receipt of your first written demand and upon receipt of document(s) specified.'
        liability_account:
          iban: 'BE68539007547034'
          # additionalProp1: {}
        auto_extension_period:
          days: '60'
          # additionalProp1: {}
        auto_extension_final_expiry_date: '2025-02-21'
        auto_extension_notification_period: '50'
        auto_extension_non_extension_notification_narrative: 'Narrative'
        governance_rule_identification: 'ISPR'
        governance_rule_narrative: 'Narrative'
        applicable_law_or_jurisdiction:
          country: 'EU'
          narrative: 'Europe'
        underlying_transaction_type: 'CONT'
        underlying_transaction_identification: 'TRN1234'
        underlying_transaction_date: '2024-07-12'
        underlying_tender_closing_date: '2024-07-18'
        underlying_transaction_amount:
          currency: 'EUR'
          amount: '828050'
        underlying_transaction_amount_percentage: '10'
        underlying_transaction_additional_info: 'Information'
        presentation_instructions: 'Beneficiary’s signed statement certifying that the Applicant has failed to fulfill his contractual obligations in respect of the terms and conditions specified and that Beneficiary is therefore entitled to claim the sum in Beneficiary’s said written demand.'
        presentation_document:
          - wording: 'Standard Wording'
            electronic_details:
              - format: 'DPDF'
                channel: 'SWFA'
                address: 'hehehaha@abcxys.com'
                additional_details: 'When format is other.'
            file_name: 'CONT20240718'
        presentation_medium: 'BOTH'
        presentation_representation:
          place_of_presentation:
            place: 'ADVP'
            country: 'SG'
          # additionalProp1: {}
        partial_demand: 'NMLT'
        transfer_indicator: true
        transfer_conditions: 'conditions'
        charge:
          - charge_type: 'COMM'
            charges_payable_by: 'ADVP'
            charges_account:
              iban: 'FR1420041010050500013M02606'
              # additionalProp1: {}
            charge_amount:
              currency: 'EUR'
              amount: '4390'
        delivery_channel_method: 'SWFA'
        deliver_to_party_type: 'ADVP'
        deliver_to_name: 'MJ Thomas'
        deliver_to_address:
          - 'Eiffel Tower, France'
        deliver_to_tracking_reference: 'FA-TRCK12324'
        deliver_to_electronic_details:
          - format: 'DPDF'
            channel: 'SWFA'
            address: 'mjthomas@ret.com'
            additional_details: 'Details'
        additional_deliver_to_details: 'Please deliver here.'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: 'CINV20240718-22'
            undertaking_document_format: 'DPDF'
            file_name: 'CINV202407-11'
            issue_date: '2025-05-11'
            linked_url_address: 'https://www.abccompanylimited.com/downloads/CUST1912391-10.pdf'
            digital_signature:
              name: 'ABC Company Ltd.'
              digital_signature: 'signature'
            additional_details: 'Extra info'
        instructions_to_bank: 'Please pay attention'
        application_advice_information: 'Advice Info'
        amendment_request_supporting_information:
          amendment_request_identification: 'BGAMD20240825-34'
          amendment_platform_reference: 'd2f2b6e2-b475-44fc-85db-8c3e8af200b2'
          amendment_sequence_number: '001'
          amendment_request_date: '2024-08-25'
          amendment_date: '2024-09-25'
          undertaking_amendment_instruction_purpose: 'ICCA'
          amendment_impact:
            - 'CUDX'
          undertaking_termination_request: false
          undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '901232'
            # additionalProp1: {}
          new_undertaking_terms_and_conditions:
            - 'new terms'
          counter_undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '901232'
            # additionalProp1: {}
          new_counter_undertaking_terms_and_condition: 'new terms'
          delivery_channel_method: 'SWFA'
          deliver_to_party_type: 'ANYB'
          deliver_to_name: 'Michael Dobbing'
          deliver_to_address:
            - Unit 1203, Working Street
          deliver_to_tracking_reference: 'DHL-12244'
          additional_deliver_to_details: 'Delivery details'
          reduction_release:
            undertaking_release_reduction_date: '2025-08-01'
            undertaking_release_reduction_reason: 'WOEX'
            reduced_or_released_amount:
              currency: 'EUR'
              amount: '901232'
            outstanding_amount:
              currency: 'EUR'
              amount: '901232'
            amount_additional_information: 'Information'
            account_with_bank:
              any_bic: 'DV8STXJC'
              lei: 'PT1SWI2PJ4EJQQIBSR02'
              name: 'XYZ Bank'
              address_line:
                - 'XYZ lane'
              location: 'Singapore'
              country: 'SG'
          supporting_document:
            - undertaking_document_type: 'CINV'
              undertaking_document_identification: 'DOC1234'
              undertaking_document_format: 'WORD'
              file_name: '1234DOC'
              issue_date: '2024-09-01'
              linked_url_address: 'https://www.abccompanylimited.com/downloads/CUST1912391-54.doc'
              digital_signature:
                name: 'XYZ Name'
                digital_signature: 'signature'
              additional_details: 'Additional details'
          additional_information: 'Additional info'

    ReplaceBankGuarantee-1:
      summary: Example-1 - Request to replace applied Bank Guarantee
      value:
        platform_reference: 'e5d5adfc-4e60-46f6-a6c9-3a287aa6f39b'
        applicant_issuance_request_identification: 'BGREQ24112022-01'
        issuer_acknowledgement_identification: 'BG24112022-Ack01'
        undertaking_identification: 'BG24112022-001'
        third_party_issuance_request_identification: 'ClientID1234'
        undertaking_status: 'AMRQ'
        undertaking_form: 'STBY'
        undertaking_application_date: '2023-01-03'
        issuance_type: 'STND'
        undertaking_type: 'PERF'
        undertaking_text_purpose: 'FINL'
        undertaking_wording_type: 'STND'
        standard_wording_language: 'en'
        party:
          - type: 'APPL'
            identification: 'CUST1234'
            any_bic: 'SWHQBEBBXXX'
            name: 'SWIFT High Fidelity Components, Ltd'
            address_line:
              - '1 Austin Rd West'
            country: 'HK'
            contact_name: 'Mukta Tom'
            contact_phone_number: '+001-85222221113'
            contact_email_address: 'muktatom@swifthifi.com'
        undertaking_amount:
          currency: 'USD'
          amount: '30000.00'
        expiry_type: 'OPEN'
        undertaking_expiry_date: '2023-03-20'
        confirmation_instructions: 'WITHOUT'
        undertaking_terms_and_conditions:
          - 'N/A'
        liability_account:
          iban: 'AT611904300234573201'
          # additionalProp1: {}
        auto_extension_period:
          days: '123456789012345678'
          # additionalProp1: {}
        auto_extension_final_expiry_date: '2024-03-20'
        auto_extension_notification_period: '30'
        governance_rule_identification: 'URDG'
        applicable_law_or_jurisdiction:
          country: 'IN'
          narrative: Mumbai, India
        underlying_transaction_amount:
          currency: 'EUR'
          amount: '6545.56'
        underlying_transaction_amount_percentage: '35'
        presentation_instructions: 'We undersigned --- (bank) hereby irrevocably and unconditionally undertake to pay to yourselves or your order immediately and within 3 calendar days from receipt of your first demand by facsimile and/or letter signed by your President Director or Vice President Director or your authorized representative, any amount up to EUR 1.830.000,00 (say: Euro Dollar one million Eight hundred thirty thousand) notwithstanding any challenge whatsoever'
        presentation_document:
          - wording: 'Wording for commercial invoice document'
            electronic_details:
              - format: 'DPDF'
                channel: 'EMAL'
                address: 'muktatom@swifthifi.com'
            file_name: 'INV20221110'
        presentation_medium: 'ELEC'
        presentation_representation:
          place_of_presentation:
            place: 'ADVP'
            country: 'IN'
          # additionalProp1: {}
        partial_demand: 'NMPT'
        transfer_indicator: false
        charge:
          - charges_payable_by: 'APPL'
            charges_account:
              iban: 'AT611904300234573201'
              # additionalProp1: {}
            charge_amount:
              currency: 'EUR'
              amount: '6545.56'
        delivery_channel_method: 'COUR'
        deliver_to_party_type: 'ISSU'
        deliver_to_name: 'Tom Kadam'
        deliver_to_tracking_reference: 'DHLtrackingid123'
        deliver_to_electronic_details:
          - format: 'DPDF'
            channel: 'EMAL'
            address: 'muktatom@swifthifi.com'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: '123456891'
            undertaking_document_format: 'DPDF'
            file_name: 'INV20221110'
            issue_date: '2022-11-22'
            linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
            digital_signature:
              name: 'SWIFT High Fidelity Components, Ltd'
              digital_signature: 'WVQBkxo"6&L'
        instructions_to_bank: 'Dear Louise, please consider our bank guarantee application...'
        application_advice_information: 'Everything validated.'
        amendment_request_supporting_information:
          amendment_request_identification: 'BGAMDREQ2022-001'
          amendment_platform_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
          amendment_sequence_number: '001'
          amendment_request_date: '2022-11-22'
          amendment_date: '2023-04-20'
          undertaking_amendment_instruction_purpose: 'ICCA'
          amendment_impact:
            - 'CUAD'
          undertaking_termination_request: false
          undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '6545.56'
            # additionalProp1: {}
          new_undertaking_terms_and_conditions:
            - 'Information related to the amendment'
          counter_undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '6545.56'
            # additionalProp1: {}
          new_counter_undertaking_terms_and_condition: 'Information related to counter undertaking amendment'
          delivery_channel_method: 'COUR'
          deliver_to_party_type: 'ISSU'
          deliver_to_name: 'Louise TD'
          deliver_to_address:
            - 'ABC Lane'
          deliver_to_tracking_reference: 'DHLtrackingid123'
          reduction_release:
            undertaking_release_reduction_date: '2023-04-22'
            undertaking_release_reduction_reason: 'BUFI'
            reduced_or_released_amount:
              currency: 'USD'
              amount: '5000.00'
            outstanding_amount:
              currency: 'USD'
              amount: '25000.00'
            account_with_bank:
              any_bic: 'SWHQBEBBXXX'
              lei: 'QG18SURWG4MGQJSV7N86'
              name: 'SWIFT High Fidelity Components, Ltd'
              address_line:
                - '1 Austin Rd West'
              country: 'HK'
          supporting_document:
            - undertaking_document_type: 'CINV'
              undertaking_document_identification: '123456891'
              undertaking_document_format: 'DPDF'
              file_name: 'INV20221110'
              issue_date: '2022-11-22'
              linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
              digital_signature:
                name: 'SWIFT High Fidelity Components, Ltd.'
                digital_signature: 'kUI5,hV2AWZeHo77 EJ163kDxbpO41S3?Xvv?'
          additional_information: 'Dear account manager,. ...'

    ReplaceBankGuarantee-2:
      summary: Example-2 - Request to replace applied Bank Guarantee
      value: 
        # application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
        platform_reference: 'f2d392df-ac9f-48ca-9708-6bfedafd1661'
        applicant_issuance_request_identification: 'BGREQ20240718191'
        issuer_acknowledgement_identification: 'BANK20240718-01'
        undertaking_identification: 'BG202407181234'
        third_party_issuance_request_identification: 'VEN20240718-01'
        undertaking_status: 'APLA'
        undertaking_form: 'STBY'
        undertaking_application_date: '2024-07-18'
        undertaking_issuance_date: '2024-08-01'
        issuance_type: 'ISCO'
        undertaking_type: 'PERF'
        undertaking_text_purpose: 'FINL'
        undertaking_wording_type: 'WDAP'
        undertaking_wording_narrative: 'Used when wording is Other.'
        standard_wording_language: 'en'
        party:
          - type: 'APPL'
            identification: 'CUST1912391'
            issuer: 'LocalIssuer'
            any_bic: 'M1JVQB6W'
            lei: 'EVACBUZGOQCYA3Q4EJ67'
            name: 'ABC Company Ltd.'
            address_line:
              - 'La Hulpe, Brussels'
            country: 'BE'
            contact_name: 'Patrick Peters'
            contact_phone_number: '+00-32495300220'
            contact_email_address: 'Patrick.peters@abc.com'
            additional_details: 'Contact Patrick'
        undertaking_amount:
          currency: 'EUR'
          amount: '827649'
        undertaking_amount_additional_information: 'Kindly confirm the final charges'
        expiry_type: 'COND'
        undertaking_expiry_date: '2025-08-01'
        undertaking_expiry_condition: 'Expiry condition 1'
        confirmation_instructions: 'CONFIRM'
        undertaking_terms_and_conditions:
          - 'We irrevocably undertake to refund to you without delay upon receipt of your first written demand and upon receipt of document(s) specified.'
        liability_account:
          iban: 'BE68539007547034'
          # additionalProp1: {}
        auto_extension_period:
          days: '60'
          # additionalProp1: {}
        auto_extension_final_expiry_date: '2025-02-21'
        auto_extension_notification_period: '50'
        auto_extension_non_extension_notification_narrative: 'Narrative'
        governance_rule_identification: 'ISPR'
        governance_rule_narrative: 'Narrative'
        applicable_law_or_jurisdiction:
          country: 'EU'
          narrative: 'Europe'
        underlying_transaction_type: 'CONT'
        underlying_transaction_identification: 'TRN1234'
        underlying_transaction_date: '2024-07-12'
        underlying_tender_closing_date: '2024-07-18'
        underlying_transaction_amount:
          currency: 'EUR'
          amount: '828050'
        underlying_transaction_amount_percentage: '10'
        underlying_transaction_additional_info: 'Information'
        presentation_instructions: 'Beneficiary’s signed statement certifying that the Applicant has failed to fulfill his contractual obligations in respect of the terms and conditions specified and that Beneficiary is therefore entitled to claim the sum in Beneficiary’s said written demand.'
        presentation_document:
          - wording: 'Standard Wording'
            electronic_details:
              - format: 'DPDF'
                channel: 'SWFA'
                address: 'hehehaha@abcxys.com'
                additional_details: 'When format is other.'
            file_name: 'CONT20240718'
        presentation_medium: 'BOTH'
        presentation_representation:
          place_of_presentation:
            place: 'ADVP'
            country: 'SG'
          # additionalProp1: {}
        partial_demand: 'NMLT'
        transfer_indicator: true
        transfer_conditions: 'conditions'
        charge:
          - charge_type: 'COMM'
            charges_payable_by: 'ADVP'
            charges_account:
              iban: 'FR1420041010050500013M02606'
              # additionalProp1: {}
            charge_amount:
              currency: 'EUR'
              amount: '4390'
        delivery_channel_method: 'SWFA'
        deliver_to_party_type: 'ADVP'
        deliver_to_name: 'MJ Thomas'
        deliver_to_address:
          - 'Eiffel Tower, France'
        deliver_to_tracking_reference: 'FA-TRCK12324'
        deliver_to_electronic_details:
          - format: 'DPDF'
            channel: 'SWFA'
            address: 'mjthomas@ret.com'
            additional_details: 'Details'
        additional_deliver_to_details: 'Please deliver here.'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: 'CINV20240718-22'
            undertaking_document_format: 'DPDF'
            file_name: 'CINV202407-11'
            issue_date: '2025-05-11'
            linked_url_address: 'https://www.abccompanylimited.com/downloads/CUST1912391-10.pdf'
            digital_signature:
              name: 'ABC Company Ltd.'
              digital_signature: 'signature'
            additional_details: 'Extra info'
        instructions_to_bank: 'Please pay attention'
        application_advice_information: 'Advice Info'
        amendment_request_supporting_information:
          amendment_request_identification: 'BGAMD20240825-34'
          amendment_platform_reference: 'd2f2b6e2-b475-44fc-85db-8c3e8af200b2'
          amendment_sequence_number: '001'
          amendment_request_date: '2024-08-25'
          amendment_date: '2024-09-25'
          undertaking_amendment_instruction_purpose: 'ICCA'
          amendment_impact:
            - 'CUDX'
          undertaking_termination_request: false
          undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '901232'
            # additionalProp1: {}
          new_undertaking_terms_and_conditions:
            - 'new terms'
          counter_undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '901232'
            # additionalProp1: {}
          new_counter_undertaking_terms_and_condition: 'new terms'
          delivery_channel_method: 'SWFA'
          deliver_to_party_type: 'ANYB'
          deliver_to_name: 'Michael Dobbing'
          deliver_to_address:
            - 'Unit 1203, Working Street'
          deliver_to_tracking_reference: 'DHL-12244'
          additional_deliver_to_details: 'Delivery details'
          reduction_release:
            undertaking_release_reduction_date: '2025-08-01'
            undertaking_release_reduction_reason: 'WOEX'
            reduced_or_released_amount:
              currency: 'EUR'
              amount: '901232'
            outstanding_amount:
              currency: 'EUR'
              amount: '901232'
            amount_additional_information: 'Information'
            account_with_bank:
              any_bic: 'DV8STXJC'
              lei: 'PT1SWI2PJ4EJQQIBSR02'
              name: 'XYZ Bank'
              address_line:
                - 'XYZ lane'
              location: 'Singapore'
              country: 'SG'
          supporting_document:
            - undertaking_document_type: 'CINV'
              undertaking_document_identification: 'DOC1234'
              undertaking_document_format: 'WORD'
              file_name: '1234DOC'
              issue_date: '2024-09-01'
              linked_url_address: 'https://www.abccompanylimited.com/downloads/CUST1912391-54.doc'
              digital_signature:
                name: 'XYZ Name'
                digital_signature: 'signature'
              additional_details: 'Additional details'
          additional_information: 'Additional info'

    UpdateBankGuarantee-1:
      summary: Example-1 - Request to update a issued Bank Guarantee
      value:
        platform_reference: 'e5d5adfc-4e60-46f6-a6c9-3a287aa6f39b'
        applicant_issuance_request_identification: 'BGREQ24112022-01'
        issuer_acknowledgement_identification: 'BG24112022-Ack01'
        undertaking_identification: 'BG24112022-001'
        third_party_issuance_request_identification: 'ClientID1234'
        undertaking_form: 'STBY'
        undertaking_application_date: '2023-01-03'
        issuance_type: 'STND'
        undertaking_type: 'PERF'
        undertaking_text_purpose: 'FINL'
        undertaking_wording_type: 'STND'
        standard_wording_language: 'en'
        party:
          - type: 'APPL'
            identification: 'CUST1234'
            any_bic: 'SWHQBEBBXXX'
            name: 'SWIFT High Fidelity Components, Ltd'
            address_line:
              - '1 Austin Rd West'
            country: 'HK'
            contact_name: 'Mukta Tom'
            contact_phone_number: '+001-85222221113'
            contact_email_address: 'muktatom@swifthifi.com'
        undertaking_amount:
          currency: 'USD'
          amount: '30000.00'
        expiry_type: 'OPEN'
        undertaking_expiry_date: '2023-03-20'
        confirmation_instructions: 'WITHOUT'
        undertaking_terms_and_conditions:
          - 'N/A'
        liability_account:
          iban: 'AT611904300234573201'
          # additionalProp1: {}
        auto_extension_period:
          days: '123456789012345678'
          # additionalProp1: {}
        auto_extension_final_expiry_date: '2024-03-20'
        auto_extension_notification_period: '30'
        governance_rule_identification: 'URDG'
        applicable_law_or_jurisdiction:
          country: 'IN'
          narrative: Mumbai, India
        underlying_transaction_amount:
          currency: 'EUR'
          amount: '6545.56'
        underlying_transaction_amount_percentage: '35'
        presentation_instructions: 'We undersigned --- (bank) hereby irrevocably and unconditionally undertake to pay to yourselves or your order immediately and within 3 calendar days from receipt of your first demand by facsimile and/or letter signed by your President Director or Vice President Director or your authorized representative, any amount up to EUR 1.830.000,00 (say: Euro Dollar one million Eight hundred thirty thousand) notwithstanding any challenge whatsoever'
        presentation_document:
          - wording: 'Wording for commercial invoice document'
            electronic_details:
              - format: 'DPDF'
                channel: 'EMAL'
                address: 'muktatom@swifthifi.com'
            file_name: 'INV20221110'
        presentation_medium: 'ELEC'
        presentation_representation:
          place_of_presentation:
            place: 'ADVP'
            country: 'IN'
          # additionalProp1: {}
        partial_demand: 'NMPT'
        transfer_indicator: false
        charge:
          - charges_payable_by: 'APPL'
            charges_account:
              iban: 'AT611904300234573201'
              # additionalProp1: {}
            charge_amount:
              currency: 'EUR'
              amount: '6545.56'
        delivery_channel_method: 'COUR'
        deliver_to_party_type: 'ISSU'
        deliver_to_name: 'Tom Kadam'
        deliver_to_tracking_reference: 'DHLtrackingid123'
        deliver_to_electronic_details:
          - format: 'DPDF'
            channel: 'EMAL'
            address: 'muktatom@swifthifi.com'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: '123456891'
            undertaking_document_format: 'DPDF'
            file_name: 'INV20221110'
            issue_date: '2022-11-22'
            linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
            digital_signature:
              name: 'SWIFT High Fidelity Components, Ltd'
              digital_signature: 'WVQBkxo"6&L'
        instructions_to_bank: 'Dear Louise, please consider our bank guarantee application...'
        application_advice_information: 'Everything validated.'
        amendment_request_supporting_information:
          amendment_request_identification: 'BGAMDREQ2022-001'
          amendment_platform_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
          amendment_sequence_number: '001'
          amendment_request_date: '2022-11-22'
          amendment_date: '2023-04-20'
          undertaking_amendment_instruction_purpose: 'ICCA'
          amendment_impact:
            - 'CUAD'
          undertaking_termination_request: false
          undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '6545.56'
            # additionalProp1: {}
          new_undertaking_terms_and_conditions:
            - 'Information related to the amendment'
          counter_undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '6545.56'
            # additionalProp1: {}
          new_counter_undertaking_terms_and_condition: 'Information related to counter undertaking amendment'
          delivery_channel_method: 'COUR'
          deliver_to_party_type: 'ISSU'
          deliver_to_name: 'Louise TD'
          deliver_to_address:
            - 'ABC Lane'
          deliver_to_tracking_reference: 'DHLtrackingid123'
          reduction_release:
            undertaking_release_reduction_date: '2023-04-22'
            undertaking_release_reduction_reason: 'BUFI'
            reduced_or_released_amount:
              currency: 'USD'
              amount: '5000.00'
            outstanding_amount:
              currency: 'USD'
              amount: '25000.00'
            account_with_bank:
              any_bic: 'SWHQBEBBXXX'
              lei: 'QG18SURWG4MGQJSV7N86'
              name: 'SWIFT High Fidelity Components, Ltd'
              address_line:
                - '1 Austin Rd West'
              country: 'HK'
          supporting_document:
            - undertaking_document_type: 'CINV'
              undertaking_document_identification: '123456891'
              undertaking_document_format: 'DPDF'
              file_name: 'INV20221110'
              issue_date: '2022-11-22'
              linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
              digital_signature:
                name: 'SWIFT High Fidelity Components, Ltd.'
                digital_signature: 'kUI5,hV2AWZeHo77 EJ163kDxbpO41S3?Xvv?'
          additional_information: 'Dear account manager,. ...'

    UpdateBankGuarantee-2:
      summary: Example-2 - Request to update a issued Bank Guarantee
      value: 
        # application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
        platform_reference: 'f2d392df-ac9f-48ca-9708-6bfedafd1661'
        applicant_issuance_request_identification: 'BGREQ20240718191'
        issuer_acknowledgement_identification: 'BANK20240718-01'
        undertaking_identification: 'BG202407181234'
        third_party_issuance_request_identification: 'VEN20240718-01'
        undertaking_status: 'APLA'
        undertaking_form: 'STBY'
        undertaking_application_date: '2024-07-18'
        undertaking_issuance_date: '2024-08-01'
        issuance_type: 'ISCO'
        undertaking_type: 'PERF'
        undertaking_text_purpose: 'FINL'
        undertaking_wording_type: 'WDAP'
        undertaking_wording_narrative: 'Used when wording is Other.'
        standard_wording_language: 'en'
        party:
          - type: 'APPL'
            identification: 'CUST1912391'
            issuer: 'LocalIssuer'
            any_bic: 'M1JVQB6W'
            lei: 'EVACBUZGOQCYA3Q4EJ67'
            name: 'ABC Company Ltd.'
            address_line:
              - 'La Hulpe, Brussels'
            country: 'BE'
            contact_name: 'Patrick Peters'
            contact_phone_number: '+00-32495300220'
            contact_email_address: 'Patrick.peters@abc.com'
            additional_details: 'Contact Patrick'
        undertaking_amount:
          currency: 'EUR'
          amount: '827649'
        undertaking_amount_additional_information: 'Kindly confirm the final charges'
        expiry_type: 'COND'
        undertaking_expiry_date: '2025-08-01'
        undertaking_expiry_condition: 'Expiry condition 1'
        confirmation_instructions: 'CONFIRM'
        undertaking_terms_and_conditions:
          - 'We irrevocably undertake to refund to you without delay upon receipt of your first written demand and upon receipt of document(s) specified.'
        liability_account:
          iban: 'BE68539007547034'
          # additionalProp1: {}
        auto_extension_period:
          days: '60'
          # additionalProp1: {}
        auto_extension_final_expiry_date: '2025-02-21'
        auto_extension_notification_period: '50'
        auto_extension_non_extension_notification_narrative: 'Narrative'
        governance_rule_identification: 'ISPR'
        governance_rule_narrative: 'Narrative'
        applicable_law_or_jurisdiction:
          country: 'EU'
          narrative: 'Europe'
        underlying_transaction_type: 'CONT'
        underlying_transaction_identification: 'TRN1234'
        underlying_transaction_date: '2024-07-12'
        underlying_tender_closing_date: '2024-07-18'
        underlying_transaction_amount:
          currency: 'EUR'
          amount: '828050'
        underlying_transaction_amount_percentage: '10'
        underlying_transaction_additional_info: 'Information'
        presentation_instructions: 'Beneficiary’s signed statement certifying that the Applicant has failed to fulfill his contractual obligations in respect of the terms and conditions specified and that Beneficiary is therefore entitled to claim the sum in Beneficiary’s said written demand.'
        presentation_document:
          - wording: 'Standard Wording'
            electronic_details:
              - format: 'DPDF'
                channel: 'SWFA'
                address: 'hehehaha@abcxys.com'
                additional_details: 'When format is other.'
            file_name: 'CONT20240718'
        presentation_medium: 'BOTH'
        presentation_representation:
          place_of_presentation:
            place: 'ADVP'
            country: 'SG'
          # additionalProp1: {}
        partial_demand: 'NMLT'
        transfer_indicator: true
        transfer_conditions: 'conditions'
        charge:
          - charge_type: 'COMM'
            charges_payable_by: 'ADVP'
            charges_account:
              iban: 'FR1420041010050500013M02606'
              # additionalProp1: {}
            charge_amount:
              currency: 'EUR'
              amount: '4390'
        delivery_channel_method: 'SWFA'
        deliver_to_party_type: 'ADVP'
        deliver_to_name: 'MJ Thomas'
        deliver_to_address:
          - 'Eiffel Tower, France'
        deliver_to_tracking_reference: 'FA-TRCK12324'
        deliver_to_electronic_details:
          - format: 'DPDF'
            channel: 'SWFA'
            address: 'mjthomas@ret.com'
            additional_details: 'Details'
        additional_deliver_to_details: 'Please deliver here.'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: 'CINV20240718-22'
            undertaking_document_format: 'DPDF'
            file_name: 'CINV202407-11'
            issue_date: '2025-05-11'
            linked_url_address: 'https://www.abccompanylimited.com/downloads/CUST1912391-10.pdf'
            digital_signature:
              name: 'ABC Company Ltd.'
              digital_signature: 'signature'
            additional_details: 'Extra info'
        instructions_to_bank: 'Please pay attention'
        application_advice_information: 'Advice Info'
        amendment_request_supporting_information:
          amendment_request_identification: 'BGAMD20240825-34'
          amendment_platform_reference: 'd2f2b6e2-b475-44fc-85db-8c3e8af200b2'
          amendment_sequence_number: '001'
          amendment_request_date: '2024-08-25'
          amendment_date: '2024-09-25'
          undertaking_amendment_instruction_purpose: 'ICCA'
          amendment_impact:
            - 'CUDX'
          undertaking_termination_request: false
          undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '901232'
            # additionalProp1: {}
          new_undertaking_terms_and_conditions:
            - 'new terms'
          counter_undertaking_increase_decrease_amount:
            increase_amount:
              currency: 'EUR'
              amount: '901232'
            # additionalProp1: {}
          new_counter_undertaking_terms_and_condition: 'new terms'
          delivery_channel_method: 'SWFA'
          deliver_to_party_type: 'ANYB'
          deliver_to_name: 'Michael Dobbing'
          deliver_to_address:
            - 'Unit 1203, Working Street'
          deliver_to_tracking_reference: 'DHL-12244'
          additional_deliver_to_details: 'Delivery details'
          reduction_release:
            undertaking_release_reduction_date: '2025-08-01'
            undertaking_release_reduction_reason: 'WOEX'
            reduced_or_released_amount:
              currency: 'EUR'
              amount: '901232'
            outstanding_amount:
              currency: 'EUR'
              amount: '901232'
            amount_additional_information: 'Information'
            account_with_bank:
              any_bic: 'DV8STXJC'
              lei: 'PT1SWI2PJ4EJQQIBSR02'
              name: 'XYZ Bank'
              address_line:
                - 'XYZ lane'
              location: 'Singapore'
              country: 'SG'
          supporting_document:
            - undertaking_document_type: 'CINV'
              undertaking_document_identification: 'DOC1234'
              undertaking_document_format: 'WORD'
              file_name: '1234DOC'
              issue_date: '2024-09-01'
              linked_url_address: 'https://www.abccompanylimited.com/downloads/CUST1912391-54.doc'
              digital_signature:
                name: 'XYZ Name'
                digital_signature: 'signature'
              additional_details: 'Additional details'
          additional_information: 'Additional info'

    CreateBankGuaranteePaymentDemandEx-1:
      summary: Example-1 - Create payment demand
      value:
        demand_reference: 'c7d7227a-9bf3-43c9-8eec-75b69657acec'
        undertaking_identification: 'BG24112022-001'
        demand_identification: 'BGDMD20221128-01'
        demand_platform_reference: 'cfe3939e-8c97-4fc0-8af3-8ae64bcafd25'
        # demand_platform_reference: BGREQ24112022-001
        advising_party_reference_number: 'SAP20221123-22'
        beneficiary_reference_number: 'BG20221122545'
        demand_type: 'WITH'
        demand_submission_date: '2022-11-22'
        demand_amount:
          currency: 'USD'
          amount: '30000.00'
        demand_amount_additional_information: 'The demand amount includes charges for commission.'
        party:
          - type: 'APPL'
            identification: 'CUST1234'
            any_bic: 'SWHQBEBBXXX'
            name: 'SWIFT High Fidelity Components, Ltd'
            address_line:
              - '1 Austin Rd West'
            country: 'HK'
            contact_name: 'Mukta Tom'
            contact_phone_number: '+000-85222221113'
            contact_email_address: 'muktatom@swifthifi.com'
        requested_expiry_date: '2023-05-31'
        complete_demand: true
        charges_reason: CHGS
        settlement_account:
          - identification:
              iban: 'AT611904300234573201'
              # additionalProp1: {}
            currency:
              currency: 'EUR'
              amount: '100.00'
            party:
              - type: 'APPL'
                identification: 'CUST1234'
                any_bic: 'SWHQBEBBXXX'
                name: 'SWIFT High Fidelity Components, Ltd'
                address_line:
                  - '1 Austin Rd West'
                country: 'HK'
                contact_name: 'Mukta Tom'
                contact_phone_number: '+000-85222221113'
                contact_email_address: 'muktatom@swifthifi.com'
                # additional_details: ''
        own_commission_and_charges:
          currency: EUR
          amount: '6545.56'
        counterparty_commission_and_charges:
          currency: EUR
          amount: '6545.56'
        amount_claimed:
          currency: EUR
          amount: '6545.56'
        undertaking_commission_specification: FLAT
        exchange_rate: '0.60'
        local_currency_countervalue:
          currency: EUR
          amount: '6545.56'
        total_amount_to_settlement_account:
          currency: EUR
          amount: '6545.56'
        debit_undertaking_commission:
          currency: EUR
          amount: '6545.56'
        total_amount_claimed:
          currency: EUR
          amount: '6545.56'
        instructions_from_bank: Dear Louise, please consider our bank guarantee application...
        documentation:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: '123456891'
            undertaking_document_format: 'DPDF'
            file_name: 'INV20221110'
            issue_date: '2022-11-22'
            linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
            digital_signature:
              name: 'SWIFT High Fidelity Components, Ltd'
              digital_signature: '9Jfg1ha9RsFK /PHU'

    CreateBankGuaranteePaymentDemandEx-2:
      summary: Example-2 - Create payment demand
      value:
        undertaking_identification: 'BG202407181234'
        demand_identification: 'DEM20250701-123'
        demand_platform_reference: 'cfe3939e-8c97-4fc0-8af3-8ae64bcafd25'
        advising_party_reference_number: 'ADVP749301'
        beneficiary_reference_number: 'BEN4248294'
        demand_type: 'PAYM'
        demand_submission_date: '2025-07-01'
        demand_amount:
          currency: 'EUR'
          amount: '901232.44'
        demand_amount_additional_information: 'additional info'
        party:
          - type: 'BENE'
            identification: 'CUST4535'
            issuer: 'Private ID'
            any_bic: 'I75FAWCX'
            lei: 'U28JS0G58PYFN6YFGJ83'
            name: 'JBC PTE'
            address_line:
              - 'OMG Lane'
            country: 'SG'
            contact_name: 'Coelho Martin'
            contact_phone_number: '+00-6512341234'
            contact_email_address: 'coelho.martin@jbc.com'
            additional_details: 'Additional Info'
        complete_demand: false
        completion_information: 'Please fulfil this for demand'
        presentation_completion_data: 'Below information needed'
        charges_reason: 'BOTH'
        charge_information: 'Charges include multiple fees'
        details_of_commission_and_charges: 'CLOS'
        charges_by: 'BANK'
        settlement_account:
          - identification:
              iban: 'FR1420041010050500013M02606'
              # additionalProp1: {}
            currency:
              currency: 'EUR'
              amount: '901232.44'
            party:
              - type: 'BENE'
                identification: 'CUT34342'
                issuer: 'Issuer'
                any_bic: 'ABNAINBB'
                lei: 'FR142004101005050001'
                name: 'KKR Pte.'
                address_line:
                  - 'Hearty Lane'
                country: 'SG'
                contact_name: 'Mukta Jonas'
                contact_phone_number: '+00-6573329000'
                contact_email_address: 'Mukta.jonas@kkr.com'
                additional_details:
                  - 'additional info'
        own_commission_and_charges:
          currency: 'EUR'
          amount: '5335.99'
        counterparty_commission_and_charges:
          currency: 'EUR'
          amount: '2490'
        amount_claimed:
          currency: 'EUR'
          amount: '3343.08'
        undertaking_commission_specification: 'FLAT'
        exchange_rate: '.95'
        local_currency_countervalue:
          currency: 'SGD'
          amount: '34357668.04'
        total_amount_to_settlement_account:
          currency: 'EUR'
          amount: '2313446.88'
        value_date: '2025-01-22'
        debit_undertaking_commission:
          currency: 'EUR'
          amount: '1146'
        total_amount_claimed:
          currency: 'EUR'
          amount: '5673'
        extend_or_pay_text: 'Here are the details on extension.'
        instructions_from_bank: 'Instructions'
        documentation:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: 'DOC1232'
            undertaking_document_format: 'DPDF'
            file_name: 'FILE3424'
            issue_date: '2024-07-18'
            linked_url_address: 'test'
            digital_signature:
              name: 'Lee Wang'
              digital_signature: 'Signature'
            additional_details: 'Additional Info'

    GETBankGuaranteePaymentDemandEx-1:
      summary: Example-1 - Get payment demand
      value:
        # demand_reference: 123e456-e89b-12d3-a456-426614174000
        demand_reference: 'c7d7227a-9bf3-43c9-8eec-75b69657acec'
        undertaking_identification: 'BG24112022-001'
        demand_identification: 'BGDMD20221128-01'
        demand_platform_reference: 'cfe3939e-8c97-4fc0-8af3-8ae64bcafd25'
        # demand_platform_reference: BGREQ24112022-001
        advising_party_reference_number: 'SAP20221123-22'
        beneficiary_reference_number: 'BG20221122545'
        demand_type: 'WITH'
        demand_submission_date: '2022-11-22'
        demand_amount:
          currency: 'USD'
          amount: '30000.00'
        demand_amount_additional_information: 'The demand amount includes charges for commission.'
        party:
          - type: 'APPL'
            identification: 'CUST1234'
            any_bic: 'SWHQBEBBXXX'
            name: 'SWIFT High Fidelity Components, Ltd'
            address_line:
              - '1 Austin Rd West'
            country: 'HK'
            contact_name: 'Mukta Tom'
            contact_phone_number: '+000-85222221113'
            contact_email_address: 'muktatom@swifthifi.com'
        requested_expiry_date: '2023-05-31'
        complete_demand: true
        charges_reason: CHGS
        settlement_account:
          - identification:
              iban: 'AT611904300234573201'
              # additionalProp1: {}
            currency:
              currency: 'EUR'
              amount: '100.00'
            party:
              - type: 'APPL'
                identification: 'CUST1234'
                any_bic: 'SWHQBEBBXXX'
                name: 'SWIFT High Fidelity Components, Ltd'
                address_line:
                  - '1 Austin Rd West'
                country: 'HK'
                contact_name: 'Mukta Tom'
                contact_phone_number: '+000-85222221113'
                contact_email_address: 'muktatom@swifthifi.com'
        own_commission_and_charges:
          currency: EUR
          amount: '6545.56'
        counterparty_commission_and_charges:
          currency: EUR
          amount: '6545.56'
        amount_claimed:
          currency: EUR
          amount: '6545.56'
        undertaking_commission_specification: FLAT
        exchange_rate: '0.60'
        local_currency_countervalue:
          currency: EUR
          amount: '6545.56'
        total_amount_to_settlement_account:
          currency: EUR
          amount: '6545.56'
        debit_undertaking_commission:
          currency: EUR
          amount: '6545.56'
        total_amount_claimed:
          currency: EUR
          amount: '6545.56'
        instructions_from_bank: Dear Louise, please consider our bank guarantee application...
        documentation:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: '123456891'
            undertaking_document_format: 'DPDF'
            file_name: 'INV20221110'
            issue_date: '2022-11-22'
            linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
            digital_signature:
              name: 'SWIFT High Fidelity Components, Ltd'
              digital_signature: '9Jfg1ha9RsFK /PHU'
            # additional_details: .lM65{."Aj>t4>u
        
    GETBankGuaranteePaymentDemandEx-2:
      summary: Example-2 - Get payment demand
      value:
        demand_reference: 'c7d7227a-9bf3-43c9-8eec-75b69657acec'
        undertaking_identification: 'BG202407181234'
        demand_identification: 'DEM20250701-123'
        demand_platform_reference: 'cfe3939e-8c97-4fc0-8af3-8ae64bcafd25'
        advising_party_reference_number: 'ADVP749301'
        beneficiary_reference_number: 'BEN4248294'
        demand_type: 'PAYM'
        demand_submission_date: '2025-07-01'
        demand_amount:
          currency: 'EUR'
          amount: '901232.44'
        demand_amount_additional_information: 'additional info'
        party:
          - type: 'BENE'
            identification: 'CUST4535'
            issuer: 'Private ID'
            any_bic: 'I75FAWCX'
            lei: 'U28JS0G58PYFN6YFGJ83'
            name: 'JBC PTE'
            address_line:
              - 'OMG Lane'
            country: 'SG'
            contact_name: 'Coelho Martin'
            contact_phone_number: '+00-6512341234'
            contact_email_address: 'coelho.martin@jbc.com'
            additional_details: 'Additional Info'
        complete_demand: false
        completion_information: 'Please fulfil this for demand'
        presentation_completion_data: 'Below information needed'
        charges_reason: 'BOTH'
        charge_information: 'Charges include multiple fees'
        details_of_commission_and_charges: 'CLOS'
        charges_by: 'BANK'
        settlement_account:
          - identification:
              iban: 'FR1420041010050500013M02606'
              # additionalProp1: {}
            currency:
              currency: 'EUR'
              amount: '901232.44'
            party:
              - type: 'BENE'
                identification: 'CUT34342'
                issuer: 'Issuer'
                any_bic: 'ABNAINBB'
                lei: 'FR142004101005050001'
                name: 'KKR Pte.'
                address_line:
                  - 'Hearty Lane'
                country: 'SG'
                contact_name: 'Mukta Jonas'
                contact_phone_number: '+00-6573329000'
                contact_email_address: 'Mukta.jonas@kkr.com'
                additional_details:
                  - 'additional info'
        own_commission_and_charges:
          currency: 'EUR'
          amount: '5335.99'
        counterparty_commission_and_charges:
          currency: 'EUR'
          amount: '2490'
        amount_claimed:
          currency: 'EUR'
          amount: '3343.08'
        undertaking_commission_specification: 'FLAT'
        exchange_rate: '.95'
        local_currency_countervalue:
          currency: 'SGD'
          amount: '34357668.04'
        total_amount_to_settlement_account:
          currency: 'EUR'
          amount: '2313446.88'
        value_date: '2025-01-22'
        debit_undertaking_commission:
          currency: 'EUR'
          amount: '1146'
        total_amount_claimed:
          currency: 'EUR'
          amount: '5673'
        extend_or_pay_text: 'Here are the details on extension.'
        instructions_from_bank: 'Instructions'
        documentation:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: 'DOC1232'
            undertaking_document_format: 'DPDF'
            file_name: 'FILE3424'
            issue_date: '2024-07-18'
            linked_url_address: 'test'
            digital_signature:
              name: 'Lee Wang'
              digital_signature: 'Signature'
            additional_details: 'Additional Info'

    GETBankGuaranteeAuditTrailEx-1:
      summary: Example-1 - Get Bank Guarantee Audit Trails
      value:
        application_reference: 342b1fd7-5bcf-4825-9287-5de5c9d1529b
        undertaking_identification: 'BG24112022-001'
        undertaking_form: 'STBY'
        issuance_type: 'STND'
        undertaking_type: 'PERF'
        undertaking_amount:
          currency: 'USD'
          amount: '30000.00'
        expiry_type: 'OPEN'
        undertaking_expiry_date: '2023-03-20'
        events_history:
          - event_identification: 9b58150a-1d19-4621-afca-4c325ddf734e
            originating_party:
              type: 'APPL'
              identification: 'CUST1234'
              # issuer: string
              any_bic: 'SWHQBEBBXXX'
              # lei: WDDJHXQ8TKX0NRPNAJ01
              name: 'SWIFT High Fidelity Components, Ltd'
              address_line:
                - '1 Austin Rd West'
              country: 'HK'
              contact_name: 'Mukta Tom'
              contact_phone_number: '+000-85222221113'
              contact_email_address: 'muktatom@swifthifi.com'
              # additional_details: '")_,WH#PO!!I/7r15Q^#4 7HRSRl?<JTOkc'
            event_type: 'AMRQ'
            event_date_time: '2022-06-13T14:41:00.123Z'
            demand_reference: 409518fd-df40-4e33-a7d6-e54734e03afd
            amendment_impact:
              - 'CUAD'
            status:
              amendment_response:
                amendment_request_identification: 'BGAMDREQ2022-001'
                amendment_sequence_number: '001'
                amendment_request_date: '2022-11-22'
                amendment_response: 'ACCP'
                amendment_response_date: '2022-11-22'
                amendment_response_information: 'All good!'
              # additionalProp1: {}
            # status_reason: stri
            additional_status_information: 'Additional Information'

    GETBankGuaranteeAuditTrailEx-2:
      summary: Example-2 - Get Bank Guarantee Audit Trails
      value:
        application_reference: '342b1fd7-5bcf-4825-9287-5de5c9d1529b'
        undertaking_identification: 'BG202407181234'
        undertaking_form: 'DEPU'
        issuance_type: 'ADVI'
        undertaking_type: 'FINC'
        undertaking_amount:
          currency: 'INR'
          amount: '45446643.03'
        expiry_type: 'COND'
        undertaking_expiry_date: '2025-08-01'
        events_history:
          - event_identification: '9b58150a-1d19-4621-afca-4c325ddf734e'
            originating_party:
              type: 'ADVP'
              identification: 'CUST34241'
              issuer: 'Issuer'
              any_bic: 'ABNAINBB'
              lei: 'WDDJHXQ8TKX0NRPNAJ01'
              name: 'Excellence Infrat Ltd.'
              address_line:
                - 'MK Gandhi Lane'
              country: 'IN'
              contact_name: 'Sarthak Sapra'
              contact_phone_number: '+00-912244302020'
              contact_email_address: 'Sarthak.sapra@excel.in'
              additional_details: 'Additional Info'
            event_type: 'AMNA'
            event_date_time: '2024-08-01T11:23:45Z'
            demand_reference: 409518fd-df40-4e33-a7d6-e54734e03afd
            amendment_impact:
              - 'CUAI'
            status:
              amendment_response:
                amendment_request_identification: 'AMEND132424'
                amendment_sequence_number: '007'
                amendment_request_date: '2024-09-01'
                amendment_response: 'ACCP'
                amendment_response_date: '2024-10-01'
                amendment_response_information: 'info'
              # additionalProp1: {}
            status_reason: 'ACCP'
            additional_status_information: 'Information'

    GETBankGuaranteeReportEx-1:
      summary: Example-1 - Get Bank Guarantee Report
      value:
        report_reference: 84be2ec1-dd45-4201-95d2-a77e62a0af1f
        undertaking_overview:
          - application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6' 
            undertaking_identification: 'BG24112022-001'
            undertaking_form: 'STBY'
            issuance_type: 'STND'
            undertaking_type: 'PERF'
            party:
              - type: 'APPL'
                identification: 'CUST1234'
                # issuer: string
                any_bic: 'SWHQBEBBXXX'
                # lei: XVDGCIBID9KH6HJXDO91
                name: 'SWIFT High Fidelity Components, Ltd'
                address_line:
                  - '1 Austin Rd West'
                country: 'HK'
                contact_name: 'Mukta Tom'
                contact_phone_number: '+000-85222221113'
                contact_email_address: 'muktatom@swifthifi.com'
                # additional_details: 4op)?W<QY:ujI~~nE0EE0K?4gf^e)|FL:Oi
            undertaking_amount:
              currency: 'USD'
              amount: '30000.00'
            total_charge:
              currency: 'USD'
              amount: '6545.56'
            expiry_type: 'OPEN'
            undertaking_expiry_date: '2023-03-20'
            last_event_originating_party:
              type: 'APPL'
              identification: 'CUST1234'
              # issuer: string
              any_bic: 'SWHQBEBBXXX'
              # lei: LJ699Q5VDEN8L8IZ2791
              name: 'SWIFT High Fidelity Components, Ltd'
              address_line:
                - '1 Austin Rd West'
              country: 'HK'
              contact_name: 'Mukta Tom'
              contact_phone_number: '+000-85222221113'
              contact_email_address: 'muktatom@swifthifi.com'
              # additional_details: o.'`8qhR^MoK+pK?)yL?AVXK_1($Bw;}p4F
            last_event_type: 'AMRQ'
            last_event_date_time: '2022-06-13T14:41:00.123Z'
            
    GETBankGuaranteeReportEx-2:
      summary: Example-2 - Get Bank Guarantee Report
      value:
        report_reference: '84be2ec1-dd45-4201-95d2-a77e62a0af1f'
        undertaking_overview:
          - application_reference: '04b0ad21-9655-4921-a428-c6c6d3817021'
            undertaking_identification: 'BG202407181234'
            undertaking_form: 'DEPU'
            issuance_type: 'ACNF'
            undertaking_type: 'APAY'
            party:
              - type: 'PRES'
                identification: 'BANK34343'
                issuer: 'Local'
                any_bic: 'ABNAINBB'
                lei: 'XVDGCIBID9KH6HJXDO91'
                name: 'QQB Bank'
                address_line:
                  - 'Patel Lane'
                country: 'IN'
                contact_name: 'Janak Patel'
                contact_phone_number: '+00-912243449922'
                contact_email_address: 'janak.patel@qqb.com'
                additional_details: 'Additional Info'
            undertaking_amount:
              currency: 'INR'
              amount: '4883'
            total_charge:
              currency: 'INR'
              amount: '2902'
            expiry_type: 'COND'
            undertaking_expiry_date: '2024-11-02'
            last_event_originating_party:
              type: 'ISSU'
              identification: 'ISSU33113'
              issuer: 'Issuer'
              any_bic: 'ABNAINBB'
              lei: 'LJ699Q5VDEN8L8IZ2791'
              name: 'CSR Bank'
              address_line:
                - 'G Block'
              country: 'IN'
              contact_name: 'Mridul Sandhya'
              contact_phone_number: '+00-912277925647'
              contact_email_address: 'Mridul.sandhya@csr.com'
              additional_details: 'Details'
            last_event_type: 'AMNA'
            last_event_date_time: '2024-09-21T11:17:32'
  
    BeneficiaryAmendmentReplyEx-1:
      summary: Example-1 - Create Amendment Acceptance Response
      value:
        event_reference: 'f2d392dd-ac9f-48ca-9708-3bfedafd1661'
        application_reference: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
        undertaking_identification: 'BG202407181234'
        events_platform_reference: 'f2d392df-ac9f-48ca-9708-6bfedafd1661'
        originating_party:
          type: 'APPL'
          identification: 'CUST1912391'
          issuer: 'LocalIssuer'
          any_bic: 'M1JVQB6W'
          lei: 'EVACBUZGOQCYA3Q4EJ67'
          name: 'ABC Company Ltd.'
          address_line:
            - 'La Hulpe, Brussels'
          country: 'BE'
          contact_name: 'Patrick Peters'
          contact_phone_number: '+00-32495300220'
          contact_email_address: 'Patrick.peters@abc.com'
          additional_details: 'Contact Patrick'
        event_type: 'AMNR'
        event_date_time: '2024-09-25T11:23:45Z'
        amendment_impact:
          - 'CUDX'
        supporting_document:
          - undertaking_document_type: 'CINV'
            undertaking_document_identification: '123456891'
            undertaking_document_format: 'DPDF'
            file_name: 'INV20221110'
            issue_date: '2022-11-22'
            linked_url_address: 'https://www.asianantiquesexport.com/downloads/customer16/CINV.pdf'
            digital_signature:
              name: 'SWIFT High Fidelity Components, Ltd'
              digital_signature: '9Jfg1ha9RsFK /PHU'
        last_date_for_extend_or_pay_response: '2024-12-21'
        status:
          amendment_response:
            amendment_request_identification: 'BGAMD20240825-34'
            amendment_sequence_number: '001'
            amendment_request_date: '2024-08-25'
            amendment_response: 'ACCP'
            amendment_response_date: '2024-08-25'
            amendment_response_information: 'Accepted'
        status_reason: 'UKNN'
        additional_status_information: 'Example amendment acceptance by the beneficiary'
    ExtendOrPayEx-1:
      summary: Example-1 - Create ExtendOrPay Response
      value:
        status:
          extend_or_pay_response:
            demand_identification: 'BGDMD20221128-01' 
            extend_or_pay_status_response: 'EXTD' 
        event_reference: 03eae896-0cbc-41df-a9ad-7f91fe1fedaf 
        event_type: XTRS 
        additional_status_information: Something here )
    DemandRefusalEx-1:
      summary: Example-1 - Create Demand Refusal Response
      value:
        status:
          demand_refusal:
            demand_identification: 'BGDMD20221128-01' 
            status: 'REFUSED'
            reason:
              - 'WE REGRET TO INFORM YOU THAT YOUR DEMAND FOR PAYMENT UNDER GUARANTEE NUMBER [GUARANTEE_NUMBER] HAS BEEN REFUSED DUE TO THE FOLLOWING DISCREPANCIES: 1. THE DOCUMENTS PRESENTED DO NOT CONFORM TO THE TERMS AND CONDITIONS OF THE GUARANTEE. 2. THE DEMAND FOR PAYMENT EXCEEDS THE MAXIMUM AMOUNT STIPULATED IN THE GUARANTEE. 3. THE REQUIRED SUPPORTING DOCUMENTS WERE NOT PROVIDED. PLEASE ADDRESS THESE DISCREPANCIES AND RESUBMIT YOUR DEMAND FOR PAYMENT'
            disposition_of_documents: 'HOLD THE DOCUMENTS PENDING FURTHER INSTRUCTIONS.'
            additional_information: 'FOR ANY QUERIES, PLEASE CONTACT US.'
        event_reference: 03eae896-0cbc-41df-a9ad-7f91fe1fedaf 
        event_type: XTRS 
        additional_status_information: Something here 

        
x-notifications:
  /trade-finance-undertakings:
    post:
      events:
        - type: trade-finance.issuance
          schema:
            $ref: '#/components/schemas/NotificationRequest'
        - type: trade-finance.charge-settlement
          schema:
            $ref: '#/components/schemas/NotificationRequest'
        - type: trade-finance.reduction-release
          schema:
            $ref: '#/components/schemas/NotificationRequest'
        - type: trade-finance.termination-notice
          schema:
            $ref: '#/components/schemas/NotificationRequest'
  /trade-finance-undertakings/{application-reference}:
    patch:
      events:
        - type: trade-finance.amendment
          schema:
            $ref: '#/components/schemas/NotificationRequest'
  /trade-finance-undertakings/{application-reference}/beneficiary-amendment-response:
    post:
      events:
        - type: trade-finance.amendment-response
          schema:
            $ref: '#/components/schemas/NotificationRequest'
  /trade-finance-undertakings/{application-reference}/payment-demand:
    patch:
      events:
        - type: trade-finance.payment-demand
          schema:
            $ref: '#/components/schemas/NotificationRequest'
        - type: trade-finance.extend-or-pay
          schema:
            $ref: '#/components/schemas/NotificationRequest'