Traiana Harmony Trade Processing API

The Traiana Harmony Trade Processing API provides cross-asset post-trade processing capabilities through the Harmony network. It enables automated trade allocation, matching, confirmation, give-up messaging, and reporting across FX, equities, equity derivatives, and exchange-traded derivatives. Harmony connects over 1,000 firms and supports 15,000 cross-asset trading relationships, handling $2 trillion in daily transaction volume.

OpenAPI Specification

traiana-harmony-trade-processing-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Traiana Harmony Trade Processing API
  description: >-
    The Traiana Harmony Trade Processing API provides cross-asset post-trade
    processing capabilities through the Harmony network. It enables automated
    trade allocation, matching, confirmation, give-up messaging, and reporting
    across FX, equities, equity derivatives, and exchange-traded derivatives.
    Harmony connects market participants for same-day trade processing with
    low-latency matching and confirmation workflows.
  version: 1.0.0
  contact:
    name: Traiana (CME Group)
    url: https://www.cmegroup.com/services/traiana.html
  license:
    name: Proprietary
servers:
  - url: https://api.traiana.com/harmony/v1
    description: Traiana Harmony Production
paths:
  /trades:
    get:
      operationId: listTrades
      summary: List Trades
      description: >-
        Retrieves a list of trades processed through the Harmony network,
        with filtering by asset class, status, counterparty, and date range.
      tags:
        - Trades
      parameters:
        - name: assetClass
          in: query
          schema:
            type: string
            enum:
              - FX
              - Equities
              - EquityDerivatives
              - ETD
        - name: status
          in: query
          schema:
            type: string
            enum:
              - Pending
              - Matched
              - Confirmed
              - Rejected
              - Cancelled
        - name: counterpartyId
          in: query
          schema:
            type: string
        - name: fromDate
          in: query
          schema:
            type: string
            format: date
        - name: toDate
          in: query
          schema:
            type: string
            format: date
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
      responses:
        "200":
          description: Successful response with list of trades
          content:
            application/json:
              schema:
                type: object
                properties:
                  trades:
                    type: array
                    items:
                      $ref: "#/components/schemas/Trade"
                  total:
                    type: integer
                  limit:
                    type: integer
                  offset:
                    type: integer
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
    post:
      operationId: submitTrade
      summary: Submit a Trade
      description: >-
        Submits a new trade into the Harmony network for processing,
        matching, and confirmation.
      tags:
        - Trades
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TradeSubmission"
      responses:
        "201":
          description: Trade submitted successfully
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Trade"
        "400":
          description: Invalid trade submission
        "401":
          description: Unauthorized
  /trades/{tradeId}:
    get:
      operationId: getTrade
      summary: Get Trade Details
      description: Retrieves detailed information about a specific trade.
      tags:
        - Trades
      parameters:
        - name: tradeId
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Successful response with trade details
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Trade"
        "404":
          description: Trade not found
  /trades/{tradeId}/confirm:
    post:
      operationId: confirmTrade
      summary: Confirm a Trade
      description: Confirms a matched trade in the Harmony network.
      tags:
        - Trades
      parameters:
        - name: tradeId
          in: path
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Trade confirmed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Trade"
        "404":
          description: Trade not found
        "409":
          description: Trade cannot be confirmed in current state
  /allocations:
    get:
      operationId: listAllocations
      summary: List Allocations
      description: >-
        Retrieves trade allocations, including block-level and allocation-level
        details from executing brokers and investment managers.
      tags:
        - Allocations
      parameters:
        - name: status
          in: query
          schema:
            type: string
            enum:
              - Pending
              - Affirmed
              - Confirmed
              - Rejected
        - name: fromDate
          in: query
          schema:
            type: string
            format: date
        - name: toDate
          in: query
          schema:
            type: string
            format: date
      responses:
        "200":
          description: Successful response with allocations
          content:
            application/json:
              schema:
                type: object
                properties:
                  allocations:
                    type: array
                    items:
                      $ref: "#/components/schemas/Allocation"
                  total:
                    type: integer
    post:
      operationId: submitAllocation
      summary: Submit an Allocation
      description: >-
        Submits a trade allocation for processing through the Harmony
        network.
      tags:
        - Allocations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AllocationSubmission"
      responses:
        "201":
          description: Allocation submitted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Allocation"
        "400":
          description: Invalid allocation
  /give-ups:
    get:
      operationId: listGiveUps
      summary: List Give-Up Messages
      description: >-
        Retrieves give-up messages between prime brokers, executing brokers,
        and their clients processed through Harmony.
      tags:
        - Give-Ups
      parameters:
        - name: status
          in: query
          schema:
            type: string
            enum:
              - Pending
              - Accepted
              - Rejected
        - name: primeBrokerId
          in: query
          schema:
            type: string
        - name: executingBrokerId
          in: query
          schema:
            type: string
      responses:
        "200":
          description: Successful response with give-up messages
          content:
            application/json:
              schema:
                type: object
                properties:
                  giveUps:
                    type: array
                    items:
                      $ref: "#/components/schemas/GiveUp"
                  total:
                    type: integer
    post:
      operationId: submitGiveUp
      summary: Submit a Give-Up
      description: >-
        Submits a give-up message from an executing broker to a prime broker
        through the Harmony network.
      tags:
        - Give-Ups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GiveUpSubmission"
      responses:
        "201":
          description: Give-up submitted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GiveUp"
        "400":
          description: Invalid give-up submission
  /matching:
    get:
      operationId: listMatchResults
      summary: List Match Results
      description: >-
        Retrieves trade matching results processed by the Harmony
        cross-asset matching engine.
      tags:
        - Matching
      parameters:
        - name: status
          in: query
          schema:
            type: string
            enum:
              - Matched
              - Unmatched
              - PartialMatch
              - Disputed
        - name: fromDate
          in: query
          schema:
            type: string
            format: date
        - name: toDate
          in: query
          schema:
            type: string
            format: date
      responses:
        "200":
          description: Successful response with matching results
          content:
            application/json:
              schema:
                type: object
                properties:
                  matchResults:
                    type: array
                    items:
                      $ref: "#/components/schemas/MatchResult"
                  total:
                    type: integer
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
  schemas:
    Trade:
      type: object
      properties:
        tradeId:
          type: string
        externalTradeId:
          type: string
        assetClass:
          type: string
          enum:
            - FX
            - Equities
            - EquityDerivatives
            - ETD
        instrument:
          type: string
        side:
          type: string
          enum:
            - Buy
            - Sell
        quantity:
          type: number
        price:
          type: number
        currency:
          type: string
        counterpartyId:
          type: string
        executingBrokerId:
          type: string
        primeBrokerId:
          type: string
        tradeDate:
          type: string
          format: date
        settlementDate:
          type: string
          format: date
        status:
          type: string
          enum:
            - Pending
            - Matched
            - Confirmed
            - Rejected
            - Cancelled
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    TradeSubmission:
      type: object
      required:
        - assetClass
        - instrument
        - side
        - quantity
        - price
        - currency
        - counterpartyId
        - tradeDate
      properties:
        externalTradeId:
          type: string
        assetClass:
          type: string
          enum:
            - FX
            - Equities
            - EquityDerivatives
            - ETD
        instrument:
          type: string
        side:
          type: string
          enum:
            - Buy
            - Sell
        quantity:
          type: number
        price:
          type: number
        currency:
          type: string
        counterpartyId:
          type: string
        executingBrokerId:
          type: string
        primeBrokerId:
          type: string
        tradeDate:
          type: string
          format: date
        settlementDate:
          type: string
          format: date
    Allocation:
      type: object
      properties:
        allocationId:
          type: string
        blockTradeId:
          type: string
        accountId:
          type: string
        instrument:
          type: string
        side:
          type: string
          enum:
            - Buy
            - Sell
        quantity:
          type: number
        price:
          type: number
        currency:
          type: string
        status:
          type: string
          enum:
            - Pending
            - Affirmed
            - Confirmed
            - Rejected
        createdAt:
          type: string
          format: date-time
    AllocationSubmission:
      type: object
      required:
        - blockTradeId
        - accountId
        - instrument
        - side
        - quantity
        - price
        - currency
      properties:
        blockTradeId:
          type: string
        accountId:
          type: string
        instrument:
          type: string
        side:
          type: string
          enum:
            - Buy
            - Sell
        quantity:
          type: number
        price:
          type: number
        currency:
          type: string
    GiveUp:
      type: object
      properties:
        giveUpId:
          type: string
        tradeId:
          type: string
        executingBrokerId:
          type: string
        primeBrokerId:
          type: string
        clientId:
          type: string
        instrument:
          type: string
        side:
          type: string
          enum:
            - Buy
            - Sell
        quantity:
          type: number
        price:
          type: number
        currency:
          type: string
        status:
          type: string
          enum:
            - Pending
            - Accepted
            - Rejected
        createdAt:
          type: string
          format: date-time
    GiveUpSubmission:
      type: object
      required:
        - tradeId
        - executingBrokerId
        - primeBrokerId
        - clientId
        - instrument
        - side
        - quantity
        - price
        - currency
      properties:
        tradeId:
          type: string
        executingBrokerId:
          type: string
        primeBrokerId:
          type: string
        clientId:
          type: string
        instrument:
          type: string
        side:
          type: string
          enum:
            - Buy
            - Sell
        quantity:
          type: number
        price:
          type: number
        currency:
          type: string
    MatchResult:
      type: object
      properties:
        matchId:
          type: string
        tradeIdA:
          type: string
        tradeIdB:
          type: string
        status:
          type: string
          enum:
            - Matched
            - Unmatched
            - PartialMatch
            - Disputed
        matchedFields:
          type: array
          items:
            type: string
        unmatchedFields:
          type: array
          items:
            type: string
        matchedAt:
          type: string
          format: date-time
security:
  - bearerAuth: []
  - apiKey: []
tags:
  - name: Allocations
  - name: Give-Ups
  - name: Matching
  - name: Trades