openapi: 3.0.1
info:
  title: Bank of England RTGS Transactions API
  version: 1.17.0
  description: |-
    A Transaction is the movement of funds between RTGS accounts.

     The Bank of England RTGS Transactions API enables an organisation to:
    -Retrieve a list of transactions
    -Retrieve a specific transaction
    -Retrieve clearing details associated with a specific transaction
  contact:
    email: APITeam@bankofengland.co.uk
    name: RTGS API team
  license:
    url: https://www.bankofengland.co.uk/payment-and-settlement
    name: >-
      Please refer to the API Annex under the "Requirements for use of RTGS
      accounts" section
servers:
  - url: >-
      https://api-test.swiftnet.sipn.swift.com/boe-rtgs-api-pilot-i1/txn-mgmt/np4/v1
    description: NP4 Environment (Non-Prod)
    variables:
      apiPath:
        default: /boe-rtgs-api-pilot-i1/txn-mgmt/np4
      taskApiPath:
        default: /boe-rtgs-api-pilot-i1/task-mgmt/np4
  - url: >-
      https://api-test.swiftnet.sipn.swift.com/boe-rtgs-api-pilot-i1/txn-mgmt/np5/v1
    description: NP5 Environment (Non-Prod)
    variables:
      apiPath:
        default: /boe-rtgs-api-pilot-i1/txn-mgmt/np5
      taskApiPath:
        default: /boe-rtgs-api-pilot-i1/task-mgmt/np5
  - url: >-
      https://api-test.swiftnet.sipn.swift.com/boe-rtgs-api-pilot-i2/txn-mgmt/pp2/v1
    description: PP2 Environment (Dress-Rehearsals)
    variables:
      apiPath:
        default: /boe-rtgs-api-pilot-i2/txn-mgmt/pp2
      taskApiPath:
        default: /boe-rtgs-api-pilot-i2/task-mgmt/pp2
  - url: >-
      https://api-test.swiftnet.sipn.swift.com/boe-rtgs-api-pilot-i3/txn-mgmt/pp2/v1
    description: PP2 Environment (Pre-Prod)
    variables:
      apiPath:
        default: /boe-rtgs-api-pilot-i3/txn-mgmt/pp2
      taskApiPath:
        default: /boe-rtgs-api-pilot-i3/task-mgmt/pp2
  - url: https://api.swiftnet.sipn.swift.com/boe-rtgs-api/txn-mgmt/v1
    description: Live Environment (Prod)
    variables:
      apiPath:
        default: /boe-rtgs-api/txn-mgmt
      taskApiPath:
        default: /boe-rtgs-api/task-mgmt
paths:
  /transactions:
    get:
      tags:
        - Transactions
      summary: Retrieves the details of a list of Transactions.
      description: >-
        A Transaction is the movement of funds between RTGS accounts. This
        endpoint allows the consumer to retrieve the details of a list of
        transactions, that the consumer is authorised to. This endpoint requires
        at least one query parameter along with the 'settlementDate' as a
        mandatory filter. Note: Filter constraints are called out on individual
        query parameters. By default, the data is sorted by the
        transactionReceivedAt field in an ascending order.
      operationId: getTransactions
      parameters:
        - name: transactionTypeCode
          in: query
          description: >-
            Used to filter transactions based on transaction type code.
            Identifier of the category to which the transaction belongs to. If
            the value provided for this filter is "CHAPS", then the
            "participantId" filter must be used. Only supports Equal(eq).
            Possible values can be fetched from "GET
            /filterValues?resourceName=transactionTypes" endpoint.
          required: false
          schema:
            pattern: ^([A-Z]{1,15}|Non-CHAPS)$
            type: string
          example: CHAPS
        - name: transactionSubTypeCode
          in: query
          description: >-
            Used to filter transactions based on transaction sub type code.
            Identifier of the sub category to which the transaction belongs to.
            If the value provided for this filter is "CHCH", "CHRT", "RTCH",
            then the "participantId" filter must be used. Only supports
            Equal(eq). Possible values can be fetched from "GET
            /filterValues?resourceName=transactionSubTypes&parentValue={transactionTypeCode}"
            endpoint.
          required: false
          schema:
            pattern: ^[A-Z]{1,4}$
            type: string
          example: LINK
        - name: transactionStatusCode
          in: query
          description: >-
            Used to filter transactions based on transaction status code.
            Identifier of the status of the transaction. Note: if this filter is
            used, then another filter except "settlementDate" must also be
            provided. Only supports Equal(eq). Possible values can be fetched
            from "GET /filterValues?resourceName=transactionStatuses" endpoint.
          required: false
          schema:
            pattern: ^[A-Z]{1,20}$
            type: string
          example: QUEUED
        - name: participantId
          in: query
          description: >-
            Used to filter transactions based on the participant / organisation
            Id. A unique Id for the participant in the RTGS. Accepts multiple
            values. Only supports Equal(eq). Possible values can be fetched from
            "GET /filterValues?resourceName=participants" endpoint.
          required: false
          schema:
            pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
            type: string
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        - name: settlementDate
          in: query
          description: >-
            Used to filter transactions based on the settlement date. Date
            requested by the participant, when payment should be settled. This
            should follow the standard ISO 8601 format with UTC offset. Note: if
            this filter is used, then at least one more filter must be provided.
            Only supports Equal(eq)
          required: true
          schema:
            type: string
            format: date
          example: '2022-03-01'
        - name: creditorParticipantId
          in: query
          description: >-
            Used to filter transactions based on the creditor participant Id. A
            unique Id for the Creditor participant organisation in the RTGS.
            Only supports Equal(eq)
          required: false
          schema:
            pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
            type: string
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        - name: debtorParticipantId
          in: query
          description: >-
            Used to filter transactions based on the debtor participant Id. A
            unique Id for the Debtor participant organisation in the RTGS. Only
            supports Equal(eq)
          required: false
          schema:
            pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
            type: string
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        - name: settlementAmount
          in: query
          description: >-
            Used to filter transactions based on the settlement amount. The
            amount to be settled as part of this transaction. Note: if this
            filter is used, it must be provided as a range. If this filter is
            used, then either "trn" or "participantId" must also be provided.
            Can support Less than (lt), Less than or equal (lte), Greater than
            (gt) and greater than or Equal (gte)
          required: false
          schema:
            type: number
          example: 600.23
        - name: trn
          in: query
          description: >-
            Used to filter transactions based on the transaction reference
            number. The unique transaction reference number assigned by SWIFT to
            the transaction. Only supports Equal(eq)
          required: false
          schema:
            pattern: ^[0-9a-zA-Z\/\-\?:\(\)\.,'\+\s]{1,16}$
            type: string
          example: TRN100
        - name: creditorAccountNumber
          in: query
          description: >-
            Used to filter transactions based on the creditor account number. 8
            digit number that identifies a unique account of the Crediting
            organisation / participant in the RTGS. Only supports Equal(eq)
          required: false
          schema:
            pattern: ^[0-9]{8}$
            type: string
          example: 12345678
        - name: debtorAccountNumber
          in: query
          description: >-
            Used to filter transactions based on the debtor account number. 8
            digit number that identifies a unique account of the Debiting
            organisation / participant in the RTGS. Only supports Equal(eq)
          required: false
          schema:
            pattern: ^[0-9]{8}$
            type: string
          example: 87654321
        - name: transactionReceivedAt
          in: query
          description: >-
            Used to filter transactions based on when the transaction was
            received. The date and time of when the transaction was received by
            RTGS. Note: It must be provided as a range. If this filter is used,
            then another filter except "settlementDate" must be provided. Can
            support Less than (lt), Less than or equal (lte), Greater than (gt)
            and greater than or Equal (gte). This should follow the standard ISO
            8601 format with UTC offset.
          required: false
          schema:
            type: string
            format: date-time
          example: '2021-02-22T12:00:00.123456Z'
        - name: limit
          in: query
          description: >-
            Number of items to return in a page. Must be greater than or equal
            to 1  (Default 20)
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
          example: 20
        - name: offset
          in: query
          description: >-
            The number of the record to start the page from. Must be greater
            than 0 and less than 2147483647 (The maximum value for an integer).
            The default value is 0.
          required: false
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int64
          example: 0
        - name: sort
          in: query
          description: >-
            Order to sort results in [direction][field] where direction is
            +(ascending) or -(descending)
          required: false
          schema:
            type: string
          example: +id
        - name: x-userContext
          in: header
          description: >-
            User context is in base64 format. It will include the institution
            BIC. Participants do not need to send this value. This will be
            populated at Network Level.
          required: false
          schema:
            type: string
            format: byte
          example: >-
            eyJhbGciOiJSUzI1NiIsImtpZCI6ImN1cmwgLXYgbGRhcDovL0RJUkwwMS5zd2lmdG5ldC5zaXBuLnN3aWZ0LmNvbTozODkvY249dHNzY2hhbm5lbCxvPXN3bGliZWIzLG89c3dpZnQ/dXNlckNlcnRpZmljYXRlIiwidHlwIjoiSldUIn0=
        - name: x-journeyId
          in: header
          description: >-
            Used to uniquely identify end to end journey of the API request. If
            header is provided in the request, then the same will be replayed in
            response headers. This will be populated at Network Level.
          required: false
          schema:
            maxLength: 64
            minLength: 64
            type: string
          example: 721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        - name: X-Forwarded-Host
          in: header
          description: >-
            Identifies the original host and port requested by the client in the
            Host HTTP request header. If no port is included, the default port
            for the service requested is implied. This will be populated at
            Network Level.
          required: false
          schema:
            pattern: ^[-a-zA-Z0-9@:%._+~#]{2,256}(:[0-9]{2,4})*$
            type: string
          example: example.com:8080
        - name: X-Forwarded-Path
          in: header
          description: >-
            Identifies the original URL path requested by the client, including
            any query string. This will be populated at Network Level.
          required: false
          schema:
            type: string
          example: /boe-rtgs-api/resource-mgmt/v1/resources?parentName=eq%3Aparent
      responses:
        '200':
          description: Transactions found
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/TransactionResponseList_OperatorListEndpoints
        '400':
          description: Bad request
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/APIErrorResponseWrapperDTO_OperatorListEndpoints
              example:
                error:
                  status: '400'
                  id: a1aa1111-1a11-1111-11a1-1aa1aa111a12
                  detail: Invalid parameters
                  errors:
                    - errorCode: EAPIGTW2002
                      detail: Limit parameter is less than 1
        '401':
          description: Unauthorized
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '403':
          description: Forbidden
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '404':
          description: Record not found
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/APIErrorResponseWrapperDTO_OperatorListEndpoints
              example:
                error:
                  status: '404'
                  id: a1aa1111-1a11-1111-11a1-1aa1aa111a15
                  detail: Record not found
                  errors:
                    - errorCode: EAPIGTW2017
                      detail: 'Record does not exist for given ID : 88'
        '405':
          description: Method not allowed
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '406':
          description: Not acceptable
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '429':
          description: Too many request
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '500':
          description: Internal server error
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
      path: /transactions
      method: GET
  /transactions/{transactionId}:
    get:
      tags:
        - Transactions
      summary: >-
        Retrieves the details of a specific transaction based on the transaction
        id.
      description: >-
        A Transaction is the movement of funds between RTGS accounts. Given a
        Transaction Id, this endpoint allows the consumer to retrieve the
        details of a specific RTGSTransaction that the consumer is authorised
        to. Note: The Transaction Id can be obtained using the List of
        Transactions endpoint.
      operationId: getSingleTransaction
      parameters:
        - name: transactionId
          in: path
          description: 'A unique Id for the transaction in the RTGS. '
          required: true
          schema:
            pattern: ^[0-9a-fA-F\-]{1,36}$
            type: string
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        - name: x-userContext
          in: header
          description: >-
            User context is in base64 format. It will include the institution
            BIC. Participants do not need to send this value. This will be
            populated at Network Level.
          required: false
          schema:
            type: string
            format: byte
          example: >-
            eyJhbGciOiJSUzI1NiIsImtpZCI6ImN1cmwgLXYgbGRhcDovL0RJUkwwMS5zd2lmdG5ldC5zaXBuLnN3aWZ0LmNvbTozODkvY249dHNzY2hhbm5lbCxvPXN3bGliZWIzLG89c3dpZnQ/dXNlckNlcnRpZmljYXRlIiwidHlwIjoiSldUIn0=
        - name: x-journeyId
          in: header
          description: >-
            Used to uniquely identify end to end journey of the API request. If
            header is provided in the request, then the same will be replayed in
            response headers. This will be populated at Network Level.
          required: false
          schema:
            maxLength: 64
            minLength: 64
            type: string
          example: 721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        - name: X-Forwarded-Host
          in: header
          description: >-
            Identifies the original host and port requested by the client in the
            Host HTTP request header. If no port is included, the default port
            for the service requested is implied. This will be populated at
            Network Level.
          required: false
          schema:
            pattern: ^[-a-zA-Z0-9@:%._+~#]{2,256}(:[0-9]{2,4})*$
            type: string
          example: example.com:8080
        - name: X-Forwarded-Path
          in: header
          description: >-
            Identifies the original URL path requested by the client, including
            any query string. This will be populated at Network Level.
          required: false
          schema:
            type: string
          example: /boe-rtgs-api/resource-mgmt/v1/resources?parentName=eq%3Aparent
      responses:
        '200':
          description: Transaction found
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/TransactionSingleResponse_OperatorSingleEndpoints
        '400':
          description: Bad request
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/APIErrorResponseWrapperDTO_OperatorSingleEndpoints
              example:
                error:
                  status: '400'
                  id: a1aa1111-1a11-1111-11a1-1aa1aa111a13
                  detail: Constraint Violation - Path Variable(s)
                  errors:
                    - errorCode: EAPIGTW2002
                      detail: 'Invalid id provided: TT'
        '401':
          description: Unauthorized
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '403':
          description: Forbidden
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '404':
          description: Record not found
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/APIErrorResponseWrapperDTO_OperatorSingleEndpoints
              example:
                error:
                  status: '404'
                  id: a1aa1111-1a11-1111-11a1-1aa1aa111a15
                  detail: Record not found
                  errors:
                    - errorCode: EAPIGTW2017
                      detail: 'Record does not exist for given ID : 88'
        '405':
          description: Method not allowed
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '406':
          description: Not acceptable
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '429':
          description: Too many request
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '500':
          description: Internal server error
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
      path: /transactions/{transactionId}
      method: GET
  /transactions/{transactionId}/clearingDetails:
    get:
      tags:
        - Transactions
      summary: >-
        Retrieves the list of clearing details of a transaction based on the
        transaction Id.
      description: >-
        Clearing Details is a message used by Deferred Net Settlement Payment
        System operators to submit details of Settlement data to the RTGS
        Processor (or to MIRS). This endpoint allows the consumer to retrieve a
        list of clearing details based on the transaction id, that the consumer
        is authorised to. A unique clearing detail can be identified by using
        the movement number and transaction id. By default, the data is sorted
        by the movement number field in an ascending order. Note: The
        transaction id can be obtained using the '/transactions' endpoint.
      operationId: getTransactionClearingDetails
      parameters:
        - name: transactionId
          in: path
          description: 'A unique Id for the transaction in the RTGS. '
          required: true
          schema:
            pattern: ^[0-9a-fA-F\-]{1,36}$
            type: string
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        - name: limit
          in: query
          description: >-
            Number of items to return in a page. Must be greater than or equal
            to 1  (Default 20)
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
          example: 20
        - name: offset
          in: query
          description: >-
            The number of the record to start the page from. Must be greater
            than 0 and less than 2147483647 (The maximum value for an integer).
            The default value is 0.
          required: false
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int64
          example: 0
        - name: sort
          in: query
          description: >-
            Order to sort results in [direction][field] where direction is
            +(ascending) or -(descending)
          required: false
          schema:
            type: string
          example: +id
        - name: x-userContext
          in: header
          description: >-
            User context is in base64 format. It will include the institution
            BIC. Participants do not need to send this value. This will be
            populated at Network Level.
          required: false
          schema:
            type: string
            format: byte
          example: >-
            eyJhbGciOiJSUzI1NiIsImtpZCI6ImN1cmwgLXYgbGRhcDovL0RJUkwwMS5zd2lmdG5ldC5zaXBuLnN3aWZ0LmNvbTozODkvY249dHNzY2hhbm5lbCxvPXN3bGliZWIzLG89c3dpZnQ/dXNlckNlcnRpZmljYXRlIiwidHlwIjoiSldUIn0=
        - name: x-journeyId
          in: header
          description: >-
            Used to uniquely identify end to end journey of the API request. If
            header is provided in the request, then the same will be replayed in
            response headers. This will be populated at Network Level.
          required: false
          schema:
            maxLength: 64
            minLength: 64
            type: string
          example: 721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        - name: X-Forwarded-Host
          in: header
          description: >-
            Identifies the original host and port requested by the client in the
            Host HTTP request header. If no port is included, the default port
            for the service requested is implied. This will be populated at
            Network Level.
          required: false
          schema:
            pattern: ^[-a-zA-Z0-9@:%._+~#]{2,256}(:[0-9]{2,4})*$
            type: string
          example: example.com:8080
        - name: X-Forwarded-Path
          in: header
          description: >-
            Identifies the original URL path requested by the client, including
            any query string. This will be populated at Network Level.
          required: false
          schema:
            type: string
          example: /boe-rtgs-api/resource-mgmt/v1/resources?parentName=eq%3Aparent
      responses:
        '200':
          description: Clearing details found
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/TransactionClearingDetailsResponseList_OperatorListEndpoints
        '400':
          description: Bad request
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/APIErrorResponseWrapperDTO_OperatorListEndpoints
              example:
                error:
                  status: '400'
                  id: a1aa1111-1a11-1111-11a1-1aa1aa111a12
                  detail: Invalid parameters
                  errors:
                    - errorCode: EAPIGTW2002
                      detail: Limit parameter is less than 1
        '401':
          description: Unauthorized
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '403':
          description: Forbidden
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '404':
          description: Record not found
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
            Cache-Control:
              description: >-
                Holds directives (instructions) for caching in responses. No
                caching done from API gateway side.
              style: simple
              schema:
                type: string
                example: no-cache, no-store, no-transform
            Content-Language:
              description: >-
                Describes the language(s) intended for the audience. Allowed
                values: "en-GB".
              style: simple
              schema:
                type: string
                example: en-GB
          content:
            application/json;charset=utf-8:
              schema:
                $ref: >-
                  #/components/schemas/APIErrorResponseWrapperDTO_OperatorListEndpoints
              example:
                error:
                  status: '404'
                  id: a1aa1111-1a11-1111-11a1-1aa1aa111a15
                  detail: Record not found
                  errors:
                    - errorCode: EAPIGTW2017
                      detail: 'Record does not exist for given ID : 88'
        '405':
          description: Method not allowed
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '406':
          description: Not acceptable
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '429':
          description: Too many request
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
        '500':
          description: Internal server error
          headers:
            x-journeyId:
              description: Used to identify end to end journey of the API request.
              style: simple
              schema:
                type: string
                example: >-
                  721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92
      path: /transactions/{transactionId}/clearingDetails
      method: GET
components:
  schemas:
    FinancialAmount_OperatorListEndpoints:
      title: MonetaryDetail
      required:
        - currencyCode
      type: object
      properties:
        amount:
          maximum: 1e+33
          exclusiveMaximum: true
          minimum: -1e+33
          exclusiveMinimum: true
          type: number
          description: >-
            The number of monetary units specified in an active currency. This
            could be positive or negative amount. Negative amount should start
            with minus (-) sign. The amount format including decimal fraction
            should comply as per ISO 4217 currency amount.
          format: double
          nullable: true
          example: 50.65
        currencyCode:
          pattern: ^[A-Z]{3}$
          type: string
          description: >-
            Identification of the currency associated to the resource. This
            should follow the standard ISO 4217 format.

            Possible values can be fetched from "GET
            /filterValues?resourceName=currencies" endpoint.
          example: GBP
      description: >-
        The number of monetary units specified in an active currency. This could
        be positive or negative amount. Negative amount should start with minus
        (-) sign. The amount format including decimal fraction should comply as
        per ISO 4217 currency amount.
      nullable: true
    OffsetPaginatedListResponseTransaction_OperatorListEndpoints:
      title: OffsetPaginatedListResponse
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Transaction_OperatorListEndpoints'
        sort:
          type: string
          description: The sort direction and the field name used to sort the resources by.
          example: +id
        totalRecordCount:
          type: integer
          description: The total number of records for a given resource.
          format: int64
          example: 100
        offset:
          type: integer
          description: Current record count offset for this page.
          format: int64
          example: 0
        limit:
          type: integer
          description: The total number of records retrieved per page.
          format: int64
          example: 20
    OffsetResponseLinksSchema_OperatorListEndpoints:
      title: Links
      required:
        - first
        - last
        - self
      type: object
      properties:
        self:
          type: string
          description: A URL to reproduce the current request.
          example: '{apiPath}/v1/resource?offset=60&limit=20'
        first:
          type: string
          description: A URL to retrieve the first page of resources.
          example: '{apiPath}/v1/resource?offset=0&limit=20'
        last:
          type: string
          description: A URL to retrieve the last page of resources
          example: '{apiPath}/v1/resource?offset=300000&limit=20'
        next:
          type: string
          description: A URL to retrieve the next page of resources.
          example: '{apiPath}/v1/resource?offset=80&limit=20'
        previous:
          type: string
          description: A URL to retrieve the previous page of resources
          example: '{apiPath}/v1/resource?offset=40&limit=20'
        taskUrl:
          $ref: '#/components/schemas/TaskUrlSchema_OperatorListEndpoints'
    TaskUrlSchema_OperatorListEndpoints:
      title: TaskLinks
      type: object
      properties:
        Task for Resource 1:
          type: string
          description: A URL to retrieve task information associated to a resource.
          example: '{taskApiPath}/v1/tasks/581ddd74-5151-4c74-ad2f-b2196752bbad'
        Task for Resource 2:
          type: string
          description: A URL to retrieve task information associated to a resource.
          example: '{taskApiPath}/v1/tasks/3d9397d1-e394-4863-be26-0686684bc510'
    TransactionResponseList_OperatorListEndpoints:
      title: TransactionResponseList
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/OffsetPaginatedListResponseTransaction_OperatorListEndpoints
        links:
          $ref: '#/components/schemas/OffsetResponseLinksSchema_OperatorListEndpoints'
    Transaction_OperatorListEndpoints:
      title: Transaction
      required:
        - bypassParameters
        - earliestSettlementDate
        - inputParty
        - originalCorrelationId
        - reasonForStatus
        - schemeCode
        - schemeName
        - schemeTypeCode
        - settlementDate
        - settlementInstructionId
        - settlementInstructionLastUpdatedOn
        - settlementPriorityTypeCode
        - transactionId
        - transactionLastUpdatedOn
        - transactionReceivedAt
        - transactionStatusCode
        - trn
      type: object
      properties:
        transactionId:
          pattern: ^[0-9a-fA-F\-]{1,36}$
          type: string
          description: 'A unique Id for the transaction in the RTGS. '
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        transactionTypeCode:
          pattern: ^[A-Z]{1,15}$
          type: string
          description: >-
            Determines the Type of transaction in the RTGS. Possible values can
            be fetched from "GET /filterValues?resourceName=transactionTypes"
            endpoint.
          nullable: true
          example: DNS
        transactionSubTypeCode:
          pattern: ^[A-Z]{1,4}$
          type: string
          description: >-
            Determines the Subtype of transaction in the RTGS. Possible values
            can be fetched from GET
            /filterValues?resourceName=transactionSubTypes&parentValue={transactionTypeCode}
            endpoint.
          nullable: true
          example: LINK
        settlementPriorityTypeCode:
          pattern: ^[A-Za-z_0-9]{1,20}$
          type: string
          description: >-
            Determines the Priority (an abbreviated form) of transaction in the
            RTGS. Priority can be Normal, High, and Urgent. All transaction
            types have Normal priority, however DNS and CHAPS transactions can
            also be escalated to Urgent. CHAPS transactions additionally support
            a third, intermediate, priority called High. Please note that
            despite non-CHAPS transactions types being classed as having a
            'Normal' priority, these transactions may still be settled before
            those with an 'Urgent' priority due to what system priority code
            they enter the system. Possible values can be fetched from "GET
            /filterValues?resourceName=settlementPriorityTypes" endpoint. For
            authorised consumers, when performing an update, this is an editable
            field. Participant scheme operators cannot edit the priority of DNS
            transactions.
          example: HIGH
        transactionStatusCode:
          pattern: ^[A-Z]{1,20}$
          type: string
          description: >-
            Determines the status of the Transaction record within RTGS.
            Possible values can be fetched from "GET
            /filterValues?resourceName=transactionStatuses" endpoint.
          example: QUEUED
        reasonForStatus:
          pattern: ^[A-Za-z0\s&<>=,'/]{1,50}$
          type: string
          description: >-
            Identifies the reason for the current transaction status. For
            example, if the transaction is held, there will be a description of
            why the transaction is held. Some examples include: Waiting for
            Validation, Waiting for Match Cycle, Bilateral Brake Applied or
            Breach Scheme Value Cap.
          example: Waiting for Validation
          enum:
            - Waiting for Validation
            - Waiting for Match Cycle
            - Future Settlement
            - Scheme Settlement is not Open
            - Bilateral Brake Applied
            - Breach Bilateral Value Cap
            - Breach Scheme Value Cap
            - Bilateral Brake & Breach Bilateral Value Cap
            - Bilateral Brake & Breach Scheme Value Cap
            - Breach Bilateral & Scheme Value Cap
            - Brake, Bilateral & Scheme Value Cap Breach
            - Waiting for Liquidity
            - Bilateral Limit Breach
            - Waiting for Multilateral Breach
            - Settlement Not Enabled
            - Single Step Mode Enabled
            - Overdrawn Balance
            - Earmarked liquidity does not match
            - Sum of Credit records does not match
            - Drop Number is not zero
            - Settlement type is not 'N' or 'E'
            - Combined Balance is not >=0
            - Repo Balance is not >=0
            - Debit record not found
            - Invalid Scheme Currency
            - Scheme Not Active
            - Invalid Date
            - Debit/Credit Balance Allocation not Mapped
            - Debit/Credit Balance Allocation not Found
            - Debtor/Creditor Balance Allocation Inactive
            - Invalid Cycle Number
            - Operator Held
            - Participant Held
            - Operator Cancelled
            - Participant Cancelled
            - Duplicate Transaction
            - Possible Duplicate Transaction
            - Unmatched Transaction
            - Invalid Message Type
            - Invalid Account Currency
            - Invalid Account Type
            - Payment Cutoff Time
            - Invalid Scheme Membership
            - Invalid BIC
            - Creditor Account Not Identified
            - Debtor Account Not Identified
            - Creditor Account Not Active
            - Debtor Account Not Active
            - Invalid Number of Movements
            - Balance Not Net to Zero
            - Separate Account Books
            - Unavailable
        settlementAmount:
          type: array
          description: >-
            The amount to be settled as part of this transaction. This field
            supports up to 2 decimal places.
          nullable: true
          items:
            $ref: '#/components/schemas/FinancialAmount_OperatorListEndpoints'
        bypassParameters:
          type: boolean
          description: >-
            A flag used to bypass caps and limits to settle a transaction. Once
            flagged, this action cannot be reverted. If the flag is "true", then
            the transaction will bypass caps and limits to settle. For
            authorised consumers, when performing an update, this is an editable
            field.
          example: false
        paymentOperation:
          type: string
          description: >-
            A payment operation is an action to change payment status or force
            settle a transaction.  Can be any of the following values:
            "HOLD_INSTRUCTION"/"UNHOLD_INSTRUCTION"/"CANCEL_INSTRUCTION". For
            authorised consumers, when performing an update, this is an editable
            field.
          nullable: true
          example: HOLD_INSTRUCTION
          enum:
            - HOLD_INSTRUCTION
            - UNHOLD_INSTRUCTION
            - CANCEL_INSTRUCTION
        trn:
          pattern: ^[0-9a-zA-Z\/\-\?:\(\)\.,'\+\s]{1,16}$
          type: string
          description: >-
            The unique transaction reference number assigned by SWIFT to the
            transaction.
          example: TRN100
        numberOfMovements:
          type: integer
          description: >-
            The number of credits and debits in the clearing. This field is only
            available for a DNS transaction. This field does not support
            decimals.
          format: int32
          nullable: true
          example: 4
        signature:
          type: array
          description: >-
            The sum of the amounts of the debit movements of the DNS Clearing.
            This amount must match the sum of the credit movements in the DNS
            Clearing as a DNS Clearing postings must net to zero. This field is
            only available for a DNS transaction. This field supports up to 2
            decimal places.
          nullable: true
          items:
            $ref: '#/components/schemas/FinancialAmount_OperatorListEndpoints'
        narrative:
          pattern: >-
            ^[\\0-9A-Za-z\s\/\-\?\)\.\,\'\+\!\#\$\%\&\*\=\^\_\`\{\|\}\~"\;\<\>\@]{0,255}$
          type: string
          description: >-
            Additional information entered in free format by the user who
            created the transaction.
          nullable: true
          example: CHAPS Transaction
        transactionReceivedAt:
          type: string
          description: >-
            The date and time of when the transaction was received by RTGS. This
            should follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-12-07T13:00:00.123456Z'
        earliestSettlementDate:
          type: string
          description: >-
            Identifies the earliest date and time the transaction will be put
            forward for settlement. Until the Earliest Settlement Date (EST) has
            been reached the transaction will show as 'QUEUED' status. This
            should follow the standard ISO 8601 format with UTC offset. For
            authorised consumers, when performing an update, this is an editable
            field.
          format: date-time
          example: '2022-02-01T12:00:00.123456Z'
        settlementDate:
          type: string
          description: >-
            Date requested by the participant, when payment should be settled.
            This should follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-12-20T13:00:00.123456Z'
        settledAt:
          type: string
          description: >-
            Value date and time the posting was settled. This should follow the
            standard ISO 8601 format with UTC offset.
          format: date-time
          nullable: true
          example: '2022-12-20T13:00:00.123456Z'
        messageTypeName:
          pattern: ^(([A-Z]+(?:_[A-Z]+)*$){1,50}|null)$
          type: string
          description: >-
            Identifies the transaction message type i.e. Interbank Transaction
            (pacs.009), Customer Transaction (pacs.008), Return Transaction
            (pacs.004), Interbank Cov (pacs.009 COV), Defund Interbank
            (pacs.009), Unwind Mode.
          nullable: true
          example: INTERBANK_PAYMENT
          enum:
            - INTERBANK_PAYMENT
            - CUSTOMER_PAYMENT
            - RETURN_PAYMENT
            - INTERBANK_COV
            - DEFUND_INTERBANK
            - UNWIND_MODE
        creditorParticipantId:
          pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
          type: string
          description: A unique Id for the Creditor participant organisation in the RTGS.
          nullable: true
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        creditorParticipantFullName:
          pattern: >-
            ^[\\0-9a-zA-Z\/\-\?\:\(\)\.\,\'\+\s\!\#\$\%\&\*\=\^\_\`\{\|\}~"\;\<\>\@\[\]]{1,100}$
          type: string
          description: 'Full Name of the Crediting organisation / participant in the RTGS. '
          nullable: true
          example: NatWest
        creditorAccountNumber:
          pattern: ^[0-9]{8}$
          type: string
          description: >-
            8 digit number that identifies a unique account of the Crediting
            organisation / participant in the RTGS.
          nullable: true
          example: '12345678'
        creditorSortCode:
          pattern: ^[0-9]{6}$
          type: string
          description: >-
            6 digit number, which represents the Bank that holds the account.
            When used in conjunction with the 'creditorAccountNumber',
            identifies a unique account of the Crediting organisation /
            participant in the RTGS.
          nullable: true
          example: '123456'
        debtorParticipantId:
          pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
          type: string
          description: A unique Id for the Debtor participant organisation in the RTGS.
          nullable: true
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        debtorParticipantFullName:
          pattern: >-
            ^[\\0-9a-zA-Z\/\-\?\:\(\)\.\,\'\+\s\!\#\$\%\&\*\=\^\_\`\{\|\}~"\;\<\>\@\[\]]{1,100}$
          type: string
          description: Full Name of the Debiting organisation / participant in the RTGS.
          nullable: true
          example: Barclays
        debtorAccountNumber:
          pattern: ^[0-9]{8}$
          type: string
          description: >-
            8 digit number that identifies a unique account of the Debiting
            organisation / participant in the RTGS.
          nullable: true
          example: '87654321'
        debtorSortCode:
          pattern: ^[0-9]{6}$
          type: string
          description: >-
            6 digit number, which represents the Bank that holds the account.
            When used in conjunction with the 'debtorAccountNumber', identifies
            a unique account of the Debiting organisation / participant in the
            RTGS.
          nullable: true
          example: '123456'
        inputParty:
          pattern: >-
            ^[\\0-9a-zA-Z\/\-\?\:\(\)\.\,\'\+\s\!\#\$\%\&\*\=\^\_\`\{\|\}~"\;\<\>\@\[\]]{1,100}$
          type: string
          description: >-
            Identifies the name of the Participant who created the transaction
            (N/A for DNS). Where this isn't manually inputted, and the
            transaction is system generated, this will say "RTGS".
          example: Barclays
        transactionLastUpdatedOn:
          type: string
          description: >-
            Date and time when the transaction was last updated. This should
            follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-12-09T16:39:34.123456Z'
        settlementInstructionId:
          pattern: >-
            (^[A-Za-z0-9-]{64}[A-Z_]{2,14}[A-Za-z0-9-._/\s]{1,178}?|^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})$
          type: string
          description: >-
            A unique settlement instruction id generated in RTGS. This Id can be
            used to retrieve the raw payment message using the "GET
            /fullPaymentMessages/{fullPaymentMessageId}" endpoint. The format of
            settlement instruction id UUID pattern or
            CORRELATION-ID\_SOURCE-SYSTEM\_MESSAGE-TYPE.
          example: >-
            sjfkjwiowjwe2878223u92382897892hjkljskljklwhhjwklj123456o23i23j9_FMG_PACS.009COV.001
        settlementInstructionLastUpdatedOn:
          type: string
          description: >-
            Date and time when the settlement instruction was last updated. This
            should follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-12-09T16:40:56.123456Z'
        originalCorrelationId:
          pattern: ^[A-Za-z0-9-\s]{1,64}$
          type: string
          description: >-
            A unique correlation id of the original transaction request,
            assigned by the RTGS.
          example: a7810de9-be8f-457c-9ec2-47b844820458
        readOnly:
          type: boolean
          description: >-
            Flag to indicate whether the resource is editable. If the flag is
            "true", the request to update/delete a resource will fail.
          nullable: true
          example: true
        schemeTypeCode:
          pattern: ^[A-Z_]{1,35}$
          type: string
          description: >-
            Code for the scheme type (an abbreviated form) to which the
            transaction is associated to. Scheme type is the logical grouping of
            schemes including GROSS, Deferred Net Settlement (DNS), Delivery
            versus Payments (DvP), Internal and Intraday Liquidity.
          example: GROSS
        schemeName:
          pattern: ^[A-Za-z0-9& \s]{1,50}$
          type: string
          description: >-
            Name of the scheme to which the transaction is associated to.
            Possible values can be fetched from "GET
            /filterValues?resourceName=schemes" endpoint.
          example: CHAPS
        schemeCode:
          pattern: ^[A-Z]{1,35}$
          type: string
          description: >-
            code for the scheme (an abbreviated form) to which the transaction
            is associated to. Possible values can be fetched from "GET
            /filterValues?resourceName=schemes" endpoint.
          example: CHAPS
    APIErrorResponseDTO_OperatorListEndpoints:
      title: APIErrorResponse
      required:
        - detail
        - errors
        - id
        - status
      type: object
      properties:
        status:
          pattern: ^\d{3}$
          type: string
          description: >-
            Standard HTTP Status code defined in <a
            href=https://datatracker.ietf.org/doc/html/rfc7231>RFC 7231</a>
        id:
          maxLength: 36
          minLength: 36
          type: string
          description: >-
            A unique reference (GUID) for the error instance, for audit purposes
            and traceability.
          format: uuid
          example: fb06dbc9-da8d-4927-b0f8-0eec823aaaa7
        detail:
          type: string
          description: Brief error message explaining the error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorsFragment_OperatorListEndpoints'
    APIErrorResponseWrapperDTO_OperatorListEndpoints:
      title: APIErrorResponseWrapper
      type: object
      properties:
        error:
          $ref: '#/components/schemas/APIErrorResponseDTO_OperatorListEndpoints'
    ErrorsFragment_OperatorListEndpoints:
      title: ErrorInfo
      required:
        - detail
        - errorCode
      type: object
      properties:
        errorCode:
          maxLength: 11
          minLength: 11
          pattern: E[A-Z0-9]{6}[0-9]{4}
          type: string
          description: |-
            Custom Error Code consists of the following
             <ul><li>1 char type specifier - 'E' for error codes</li><li>6 character base pattern - A concatenation of 'APIGTW'</li><li>4 digit sequence number - 1000<=x<2000 for system errors, 2000<=x<3000 for business errors, 3000<=x<4000 for technical errors</li></ul>
          example: EAPIGTW2039
        detail:
          type: string
          description: Description of the error detail with further granularity
        uri:
          type: string
          description: >-
            URL to help remediate the problem, or provide more information, or
            to API Reference or help etc.
          format: uri
    FinancialAmount_OperatorSingleEndpoints:
      title: MonetaryDetail
      required:
        - currencyCode
      type: object
      properties:
        amount:
          maximum: 1e+33
          exclusiveMaximum: true
          minimum: -1e+33
          exclusiveMinimum: true
          type: number
          description: >-
            The number of monetary units specified in an active currency. This
            could be positive or negative amount. Negative amount should start
            with minus (-) sign. The amount format including decimal fraction
            should comply as per ISO 4217 currency amount.
          format: double
          nullable: true
          example: 50.65
        currencyCode:
          pattern: ^[A-Z]{3}$
          type: string
          description: >-
            Identification of the currency associated to the resource. This
            should follow the standard ISO 4217 format.

            Possible values can be fetched from "GET
            /filterValues?resourceName=currencies" endpoint.
          example: GBP
      description: >-
        The number of monetary units specified in an active currency. This could
        be positive or negative amount. Negative amount should start with minus
        (-) sign. The amount format including decimal fraction should comply as
        per ISO 4217 currency amount.
      nullable: true
    SingleResponseLinksSchema_OperatorSingleEndpoints:
      title: Links
      required:
        - self
      type: object
      properties:
        self:
          type: string
          description: A URL to reproduce the current request.
          example: '{apiPath}/v1/resource/1f740fe7-c251-4d82-8abd-11953d76f594'
        taskUrl:
          type: string
          description: A URL to retrieve task information associated to a resource.
          example: '{taskApiPath}/v1/tasks/0e740fe7-c251-4d82-8abd-11953d76f593'
    SingleResponseTransaction_OperatorSingleEndpoints:
      title: SingleResponse
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Transaction_OperatorSingleEndpoints'
    TransactionSingleResponse_OperatorSingleEndpoints:
      title: TransactionSingleResponse
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/SingleResponseTransaction_OperatorSingleEndpoints
        links:
          $ref: >-
            #/components/schemas/SingleResponseLinksSchema_OperatorSingleEndpoints
    Transaction_OperatorSingleEndpoints:
      title: Transaction
      required:
        - bypassParameters
        - earliestSettlementDate
        - inputParty
        - originalCorrelationId
        - reasonForStatus
        - schemeCode
        - schemeName
        - schemeTypeCode
        - settlementDate
        - settlementInstructionId
        - settlementInstructionLastUpdatedOn
        - settlementPriorityTypeCode
        - transactionId
        - transactionLastUpdatedOn
        - transactionReceivedAt
        - transactionStatusCode
        - trn
      type: object
      properties:
        transactionId:
          pattern: ^[0-9a-fA-F\-]{1,36}$
          type: string
          description: 'A unique Id for the transaction in the RTGS. '
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        transactionTypeCode:
          pattern: ^[A-Z]{1,15}$
          type: string
          description: >-
            Determines the Type of transaction in the RTGS. Possible values can
            be fetched from "GET /filterValues?resourceName=transactionTypes"
            endpoint.
          nullable: true
          example: DNS
        transactionSubTypeCode:
          pattern: ^[A-Z]{1,4}$
          type: string
          description: >-
            Determines the Subtype of transaction in the RTGS. Possible values
            can be fetched from GET
            /filterValues?resourceName=transactionSubTypes&parentValue={transactionTypeCode}
            endpoint.
          nullable: true
          example: LINK
        settlementPriorityTypeCode:
          pattern: ^[A-Za-z_0-9]{1,20}$
          type: string
          description: >-
            Determines the Priority (an abbreviated form) of transaction in the
            RTGS. Priority can be Normal, High, and Urgent. All transaction
            types have Normal priority, however DNS and CHAPS transactions can
            also be escalated to Urgent. CHAPS transactions additionally support
            a third, intermediate, priority called High. Please note that
            despite non-CHAPS transactions types being classed as having a
            'Normal' priority, these transactions may still be settled before
            those with an 'Urgent' priority due to what system priority code
            they enter the system. Possible values can be fetched from "GET
            /filterValues?resourceName=settlementPriorityTypes" endpoint. For
            authorised consumers, when performing an update, this is an editable
            field. Participant scheme operators cannot edit the priority of DNS
            transactions.
          example: HIGH
        transactionStatusCode:
          pattern: ^[A-Z]{1,20}$
          type: string
          description: >-
            Determines the status of the Transaction record within RTGS.
            Possible values can be fetched from "GET
            /filterValues?resourceName=transactionStatuses" endpoint.
          example: QUEUED
        reasonForStatus:
          pattern: ^[A-Za-z0\s&<>=,'/]{1,50}$
          type: string
          description: >-
            Identifies the reason for the current transaction status. For
            example, if the transaction is held, there will be a description of
            why the transaction is held. Some examples include: Waiting for
            Validation, Waiting for Match Cycle, Bilateral Brake Applied or
            Breach Scheme Value Cap.
          example: Waiting for Validation
          enum:
            - Waiting for Validation
            - Waiting for Match Cycle
            - Future Settlement
            - Scheme Settlement is not Open
            - Bilateral Brake Applied
            - Breach Bilateral Value Cap
            - Breach Scheme Value Cap
            - Bilateral Brake & Breach Bilateral Value Cap
            - Bilateral Brake & Breach Scheme Value Cap
            - Breach Bilateral & Scheme Value Cap
            - Brake, Bilateral & Scheme Value Cap Breach
            - Waiting for Liquidity
            - Bilateral Limit Breach
            - Waiting for Multilateral Breach
            - Settlement Not Enabled
            - Single Step Mode Enabled
            - Overdrawn Balance
            - Earmarked liquidity does not match
            - Sum of Credit records does not match
            - Drop Number is not zero
            - Settlement type is not 'N' or 'E'
            - Combined Balance is not >=0
            - Repo Balance is not >=0
            - Debit record not found
            - Invalid Scheme Currency
            - Scheme Not Active
            - Invalid Date
            - Debit/Credit Balance Allocation not Mapped
            - Debit/Credit Balance Allocation not Found
            - Debtor/Creditor Balance Allocation Inactive
            - Invalid Cycle Number
            - Operator Held
            - Participant Held
            - Operator Cancelled
            - Participant Cancelled
            - Duplicate Transaction
            - Possible Duplicate Transaction
            - Unmatched Transaction
            - Invalid Message Type
            - Invalid Account Currency
            - Invalid Account Type
            - Payment Cutoff Time
            - Invalid Scheme Membership
            - Invalid BIC
            - Creditor Account Not Identified
            - Debtor Account Not Identified
            - Creditor Account Not Active
            - Debtor Account Not Active
            - Invalid Number of Movements
            - Balance Not Net to Zero
            - Separate Account Books
            - Unavailable
        settlementAmount:
          type: array
          description: >-
            The amount to be settled as part of this transaction. This field
            supports up to 2 decimal places.
          nullable: true
          items:
            $ref: '#/components/schemas/FinancialAmount_OperatorSingleEndpoints'
        bypassParameters:
          type: boolean
          description: >-
            A flag used to bypass caps and limits to settle a transaction. Once
            flagged, this action cannot be reverted. If the flag is "true", then
            the transaction will bypass caps and limits to settle. For
            authorised consumers, when performing an update, this is an editable
            field.
          example: false
        paymentOperation:
          type: string
          description: >-
            A payment operation is an action to change payment status or force
            settle a transaction.  Can be any of the following values:
            "HOLD_INSTRUCTION"/"UNHOLD_INSTRUCTION"/"CANCEL_INSTRUCTION". For
            authorised consumers, when performing an update, this is an editable
            field.
          nullable: true
          example: HOLD_INSTRUCTION
          enum:
            - HOLD_INSTRUCTION
            - UNHOLD_INSTRUCTION
            - CANCEL_INSTRUCTION
        trn:
          pattern: ^[0-9a-zA-Z\/\-\?:\(\)\.,'\+\s]{1,16}$
          type: string
          description: >-
            The unique transaction reference number assigned by SWIFT to the
            transaction.
          example: TRN100
        numberOfMovements:
          type: integer
          description: >-
            The number of credits and debits in the clearing. This field is only
            available for a DNS transaction. This field does not support
            decimals.
          format: int32
          nullable: true
          example: 4
        signature:
          type: array
          description: >-
            The sum of the amounts of the debit movements of the DNS Clearing.
            This amount must match the sum of the credit movements in the DNS
            Clearing as a DNS Clearing postings must net to zero. This field is
            only available for a DNS transaction. This field supports up to 2
            decimal places.
          nullable: true
          items:
            $ref: '#/components/schemas/FinancialAmount_OperatorSingleEndpoints'
        narrative:
          pattern: >-
            ^[\\0-9A-Za-z\s\/\-\?\)\.\,\'\+\!\#\$\%\&\*\=\^\_\`\{\|\}\~"\;\<\>\@]{0,255}$
          type: string
          description: >-
            Additional information entered in free format by the user who
            created the transaction.
          nullable: true
          example: CHAPS Transaction
        transactionReceivedAt:
          type: string
          description: >-
            The date and time of when the transaction was received by RTGS. This
            should follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-12-07T13:00:00.123456Z'
        earliestSettlementDate:
          type: string
          description: >-
            Identifies the earliest date and time the transaction will be put
            forward for settlement. Until the Earliest Settlement Date (EST) has
            been reached the transaction will show as 'QUEUED' status. This
            should follow the standard ISO 8601 format with UTC offset. For
            authorised consumers, when performing an update, this is an editable
            field.
          format: date-time
          example: '2022-02-01T12:00:00.123456Z'
        settlementDate:
          type: string
          description: >-
            Date requested by the participant, when payment should be settled.
            This should follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-12-20T13:00:00.123456Z'
        settledAt:
          type: string
          description: >-
            Value date and time the posting was settled. This should follow the
            standard ISO 8601 format with UTC offset.
          format: date-time
          nullable: true
          example: '2022-12-20T13:00:00.123456Z'
        messageTypeName:
          pattern: ^(([A-Z]+(?:_[A-Z]+)*$){1,50}|null)$
          type: string
          description: >-
            Identifies the transaction message type i.e. Interbank Transaction
            (pacs.009), Customer Transaction (pacs.008), Return Transaction
            (pacs.004), Interbank Cov (pacs.009 COV), Defund Interbank
            (pacs.009), Unwind Mode.
          nullable: true
          example: INTERBANK_PAYMENT
          enum:
            - INTERBANK_PAYMENT
            - CUSTOMER_PAYMENT
            - RETURN_PAYMENT
            - INTERBANK_COV
            - DEFUND_INTERBANK
            - UNWIND_MODE
        creditorParticipantId:
          pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
          type: string
          description: A unique Id for the Creditor participant organisation in the RTGS.
          nullable: true
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        creditorParticipantFullName:
          pattern: >-
            ^[\\0-9a-zA-Z\/\-\?\:\(\)\.\,\'\+\s\!\#\$\%\&\*\=\^\_\`\{\|\}~"\;\<\>\@\[\]]{1,100}$
          type: string
          description: 'Full Name of the Crediting organisation / participant in the RTGS. '
          nullable: true
          example: NatWest
        creditorAccountNumber:
          pattern: ^[0-9]{8}$
          type: string
          description: >-
            8 digit number that identifies a unique account of the Crediting
            organisation / participant in the RTGS.
          nullable: true
          example: '12345678'
        creditorSortCode:
          pattern: ^[0-9]{6}$
          type: string
          description: >-
            6 digit number, which represents the Bank that holds the account.
            When used in conjunction with the 'creditorAccountNumber',
            identifies a unique account of the Crediting organisation /
            participant in the RTGS.
          nullable: true
          example: '123456'
        debtorParticipantId:
          pattern: ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
          type: string
          description: A unique Id for the Debtor participant organisation in the RTGS.
          nullable: true
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        debtorParticipantFullName:
          pattern: >-
            ^[\\0-9a-zA-Z\/\-\?\:\(\)\.\,\'\+\s\!\#\$\%\&\*\=\^\_\`\{\|\}~"\;\<\>\@\[\]]{1,100}$
          type: string
          description: Full Name of the Debiting organisation / participant in the RTGS.
          nullable: true
          example: Barclays
        debtorAccountNumber:
          pattern: ^[0-9]{8}$
          type: string
          description: >-
            8 digit number that identifies a unique account of the Debiting
            organisation / participant in the RTGS.
          nullable: true
          example: '87654321'
        debtorSortCode:
          pattern: ^[0-9]{6}$
          type: string
          description: >-
            6 digit number, which represents the Bank that holds the account.
            When used in conjunction with the 'debtorAccountNumber', identifies
            a unique account of the Debiting organisation / participant in the
            RTGS.
          nullable: true
          example: '123456'
        inputParty:
          pattern: >-
            ^[\\0-9a-zA-Z\/\-\?\:\(\)\.\,\'\+\s\!\#\$\%\&\*\=\^\_\`\{\|\}~"\;\<\>\@\[\]]{1,100}$
          type: string
          description: >-
            Identifies the name of the Participant who created the transaction
            (N/A for DNS). Where this isn't manually inputted, and the
            transaction is system generated, this will say "RTGS".
          example: Barclays
        transactionLastUpdatedOn:
          type: string
          description: >-
            Date and time when the transaction was last updated. This should
            follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-12-09T16:39:34.123456Z'
        settlementInstructionId:
          pattern: >-
            (^[A-Za-z0-9-]{64}[A-Z_]{2,14}[A-Za-z0-9-._/\s]{1,178}?|^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})$
          type: string
          description: >-
            A unique settlement instruction id generated in RTGS. This Id can be
            used to retrieve the raw payment message using the "GET
            /fullPaymentMessages/{fullPaymentMessageId}" endpoint. The format of
            settlement instruction id UUID pattern or
            CORRELATION-ID\_SOURCE-SYSTEM\_MESSAGE-TYPE.
          example: >-
            sjfkjwiowjwe2878223u92382897892hjkljskljklwhhjwklj123456o23i23j9_FMG_PACS.009COV.001
        settlementInstructionLastUpdatedOn:
          type: string
          description: >-
            Date and time when the settlement instruction was last updated. This
            should follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-12-09T16:40:56.123456Z'
        originalCorrelationId:
          pattern: ^[A-Za-z0-9-\s]{1,64}$
          type: string
          description: >-
            A unique correlation id of the original transaction request,
            assigned by the RTGS.
          example: a7810de9-be8f-457c-9ec2-47b844820458
        readOnly:
          type: boolean
          description: >-
            Flag to indicate whether the resource is editable. If the flag is
            "true", the request to update/delete a resource will fail.
          nullable: true
          example: true
        schemeTypeCode:
          pattern: ^[A-Z_]{1,35}$
          type: string
          description: >-
            Code for the scheme type (an abbreviated form) to which the
            transaction is associated to. Scheme type is the logical grouping of
            schemes including GROSS, Deferred Net Settlement (DNS), Delivery
            versus Payments (DvP), Internal and Intraday Liquidity.
          example: GROSS
        schemeName:
          pattern: ^[A-Za-z0-9& \s]{1,50}$
          type: string
          description: >-
            Name of the scheme to which the transaction is associated to.
            Possible values can be fetched from "GET
            /filterValues?resourceName=schemes" endpoint.
          example: CHAPS
        schemeCode:
          pattern: ^[A-Z]{1,35}$
          type: string
          description: >-
            code for the scheme (an abbreviated form) to which the transaction
            is associated to. Possible values can be fetched from "GET
            /filterValues?resourceName=schemes" endpoint.
          example: CHAPS
    APIErrorResponseDTO_OperatorSingleEndpoints:
      title: APIErrorResponse
      required:
        - detail
        - errors
        - id
        - status
      type: object
      properties:
        status:
          pattern: ^\d{3}$
          type: string
          description: >-
            Standard HTTP Status code defined in <a
            href=https://datatracker.ietf.org/doc/html/rfc7231>RFC 7231</a>
        id:
          maxLength: 36
          minLength: 36
          type: string
          description: >-
            A unique reference (GUID) for the error instance, for audit purposes
            and traceability.
          format: uuid
          example: fb06dbc9-da8d-4927-b0f8-0eec823aaaa7
        detail:
          type: string
          description: Brief error message explaining the error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorsFragment_OperatorSingleEndpoints'
    APIErrorResponseWrapperDTO_OperatorSingleEndpoints:
      title: APIErrorResponseWrapper
      type: object
      properties:
        error:
          $ref: '#/components/schemas/APIErrorResponseDTO_OperatorSingleEndpoints'
    ErrorsFragment_OperatorSingleEndpoints:
      title: ErrorInfo
      required:
        - detail
        - errorCode
      type: object
      properties:
        errorCode:
          maxLength: 11
          minLength: 11
          pattern: E[A-Z0-9]{6}[0-9]{4}
          type: string
          description: |-
            Custom Error Code consists of the following
             <ul><li>1 char type specifier - 'E' for error codes</li><li>6 character base pattern - A concatenation of 'APIGTW'</li><li>4 digit sequence number - 1000<=x<2000 for system errors, 2000<=x<3000 for business errors, 3000<=x<4000 for technical errors</li></ul>
          example: EAPIGTW2039
        detail:
          type: string
          description: Description of the error detail with further granularity
        uri:
          type: string
          description: >-
            URL to help remediate the problem, or provide more information, or
            to API Reference or help etc.
          format: uri
    ClearingDetails_OperatorListEndpoints:
      title: ClearingDetail
      required:
        - accountNumber
        - creditDebitIndicator
        - lastUpdatedOn
        - movementNumber
        - transactionId
        - transactionReceivedAt
      type: object
      properties:
        movementNumber:
          type: integer
          description: A unique Id for the posting in the RTGS.
          format: int32
          example: 10
        settlementAmount:
          type: array
          description: >-
            Monetary value involved in the transaction. This field supports up
            to 2 decimal places.
          nullable: true
          items:
            $ref: '#/components/schemas/FinancialAmount_OperatorListEndpoints'
        creditDebitIndicator:
          type: string
          description: >-
            Indicator to show if movement was a credit or debit on the
            Participant's account.
          example: CR
          enum:
            - CR
            - DB
        participantFullName:
          pattern: >-
            ^[\\0-9a-zA-Z\/\-\?\:\(\)\.\,\'\+\s\!\#\$\%\&\*\=\^\_\`\{\|\}~"\;\<\>\@\[\]]{1,100}$
          type: string
          description: >-
            Name of the Participant that was credited or debited as part of the
            DNS Clearing.
          nullable: true
          example: NATWEST METTLE SETT Coutts
        accountNumber:
          pattern: ^[0-9]{8}$
          type: string
          description: >-
            The Participant's account number of the account that the transaction
            was debited or credited from (N/A for DNS).
          example: '12345678'
        transactionId:
          pattern: ^[0-9a-fA-F\-]{1,36}$
          type: string
          description: 'A unique Id for the transaction in the RTGS. '
          example: a4faa192-ddd7-11ed-b5ea-0242ac120002
        transactionReceivedAt:
          type: string
          description: >-
            Date and Time at which the clearing was received by RTGS. This
            should follow the standard ISO 8601 format with UTC offset.
          format: date-time
          example: '2022-07-18T13:00:00.123456Z'
        lastUpdatedOn:
          type: string
          description: >-
            Date and time at which the clearing detail was created / last
            updated. This should follow the standard ISO 8601 format with UTC
            offset.
          format: date-time
          example: '2023-01-06T15:36:33.123321Z'
    OffsetPaginatedListResponseClearingDetails_OperatorListEndpoints:
      title: OffsetPaginatedListResponse
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/ClearingDetails_OperatorListEndpoints'
        sort:
          type: string
          description: The sort direction and the field name used to sort the resources by.
          example: +id
        totalRecordCount:
          type: integer
          description: The total number of records for a given resource.
          format: int64
          example: 100
        offset:
          type: integer
          description: Current record count offset for this page.
          format: int64
          example: 0
        limit:
          type: integer
          description: The total number of records retrieved per page.
          format: int64
          example: 20
    TransactionClearingDetailsResponseList_OperatorListEndpoints:
      title: TransactionClearingDetailsResponseList
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/OffsetPaginatedListResponseClearingDetails_OperatorListEndpoints
        links:
          $ref: '#/components/schemas/OffsetResponseLinksSchema_OperatorListEndpoints'
  securitySchemes:
    oauthBearerToken:
      type: http
      scheme: bearer
      bearerFormat: opaque OAuth 2.0
      description: >-

        The access token obtained as a result of OAuth 2.0 flows. SWIFT supports
        two OAuth grant types depending on the API service.

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

        * Password grant type


        This API uses JWT-Bearer grant type.


        Please visit [SWIFT OAuth Token
        API](https://developer.swift.com/swift-oauth-token-api) page for more
        information and examples on how to generate an OAuth token.

        In this declaration only the basic security element to transport the
        bearer token of an OAuth2 process is declared.securitySchemes:
security:
  - oauthBearerToken: [ ]
