Kraken Futures REST API

REST API for the Kraken Futures derivatives exchange (formerly Crypto Facilities). Provides trading (send order, edit order, cancel order, cancel all, batch order), market data (instruments, tickers, orderbook, history, recent orders), account data (accounts, open positions, open orders, fills, notifications, account log, transfers, withdrawal), history (account history, execution events, order events, trigger events, market history), charts (candles, analytics), and API key management endpoints.

OpenAPI Specification

kraken-futures-rest-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Kraken Futures REST API
  version: '3.0.0'
  description: >-
    OpenAPI description of the Kraken Futures (formerly Crypto Facilities) REST
    API v3. Covers trading (send/edit/cancel orders, batch), market data
    (instruments, tickers, orderbook, history), account data (accounts, open
    positions, open orders, fills), transfers, account history, and charts.
    Generated by the API Evangelist pipeline from
    docs.kraken.com/api/docs/futures-api/.
  contact:
    name: Kraken API Support
    url: https://support.kraken.com/
  license:
    name: Kraken Terms of Service
    url: https://www.kraken.com/legal
  x-generated-from: documentation
  x-last-validated: '2026-05-30'
servers:
  - url: https://futures.kraken.com/derivatives/api/v3
    description: Kraken Futures production REST endpoint
  - url: https://demo-futures.kraken.com/derivatives/api/v3
    description: Kraken Futures demo / sandbox endpoint
  - url: https://colo-london.vip.futures.kraken.com/derivatives/api/v3
    description: Kraken Futures colocation endpoint (London VIP)
tags:
  - name: Market Data
    description: Public market data (no authentication required)
  - name: Trading
    description: Order placement, edit, and cancellation
  - name: Account
    description: Accounts, positions, orders, fills
  - name: Transfers
    description: Wallet, margin, and subaccount transfers
  - name: History
    description: Account, execution, order, trigger, and market history
  - name: Charts
    description: OHLC candle data and analytics
  - name: Auth
    description: API key checks
paths:
  /instruments:
    get:
      operationId: getInstruments
      summary: Kraken Get Instruments
      description: Returns the list of supported instruments and their metadata.
      tags: [Market Data]
      responses:
        '200':
          description: Instruments
          content: {application/json: {schema: {$ref: '#/components/schemas/InstrumentsResponse'}, examples: {getInstruments200Example: {summary: Default getInstruments 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string, instruments: []}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /instruments/status:
    get:
      operationId: getInstrumentsStatus
      summary: Kraken Get Instruments Status
      description: Returns instrument trading status (open, paused, etc.).
      tags: [Market Data]
      responses:
        '200':
          description: Status array
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getInstrumentsStatus200Example: {summary: Default getInstrumentsStatus 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /tickers:
    get:
      operationId: getTickers
      summary: Kraken Get Tickers
      description: Returns the latest ticker for every instrument.
      tags: [Market Data]
      responses:
        '200':
          description: Tickers
          content: {application/json: {schema: {$ref: '#/components/schemas/TickersResponse'}, examples: {getTickers200Example: {summary: Default getTickers 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string, tickers: []}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /tickers/{symbol}:
    get:
      operationId: getTickerForSymbol
      summary: Kraken Get Ticker for Symbol
      description: Returns the latest ticker for a single instrument.
      tags: [Market Data]
      parameters:
        - {name: symbol, in: path, required: true, schema: {type: string}, example: PI_XBTUSD}
      responses:
        '200':
          description: Ticker
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getTickerForSymbol200Example: {summary: Default getTickerForSymbol 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /orderbook:
    get:
      operationId: getOrderBookFutures
      summary: Kraken Get Order Book (Futures)
      description: Returns the order book for a single instrument.
      tags: [Market Data]
      parameters:
        - {name: symbol, in: query, required: true, schema: {type: string}, example: PI_XBTUSD}
      responses:
        '200':
          description: Order book
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getOrderBookFutures200Example: {summary: Default getOrderBookFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /history:
    get:
      operationId: getMarketHistory
      summary: Kraken Get Market History
      description: Returns recent public trade history for an instrument.
      tags: [Market Data]
      parameters:
        - {name: symbol, in: query, required: true, schema: {type: string}, example: PI_XBTUSD}
        - {name: lastTime, in: query, required: false, schema: {type: string, format: date-time}, example: '2026-05-30T00:00:00Z'}
      responses:
        '200':
          description: Market history
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getMarketHistory200Example: {summary: Default getMarketHistory 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /accounts:
    get:
      operationId: getAccounts
      summary: Kraken Get Accounts
      description: Returns balances and margin information for every Futures account / sub-account.
      tags: [Account]
      security: [futures_signature: []]
      responses:
        '200':
          description: Accounts
          content: {application/json: {schema: {$ref: '#/components/schemas/AccountsResponse'}, examples: {getAccounts200Example: {summary: Default getAccounts 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string, accounts: {}}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /openpositions:
    get:
      operationId: getOpenPositionsFutures
      summary: Kraken Get Open Positions (Futures)
      description: Returns currently open futures positions.
      tags: [Account]
      security: [futures_signature: []]
      responses:
        '200':
          description: Open positions
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getOpenPositionsFutures200Example: {summary: Default getOpenPositionsFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /openorders:
    get:
      operationId: getOpenOrdersFutures
      summary: Kraken Get Open Orders (Futures)
      description: Returns currently open orders.
      tags: [Account]
      security: [futures_signature: []]
      responses:
        '200':
          description: Open orders
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getOpenOrdersFutures200Example: {summary: Default getOpenOrdersFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /fills:
    get:
      operationId: getFills
      summary: Kraken Get Fills
      description: Returns recent execution fills.
      tags: [Account]
      security: [futures_signature: []]
      parameters:
        - {name: lastFillTime, in: query, required: false, schema: {type: string, format: date-time}, example: '2026-05-30T00:00:00Z'}
      responses:
        '200':
          description: Fills
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getFills200Example: {summary: Default getFills 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /sendorder:
    post:
      operationId: sendOrder
      summary: Kraken Send Order
      description: Places a new futures order (lmt, mkt, stp, take_profit, ioc).
      tags: [Trading]
      security: [futures_signature: []]
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema: {$ref: '#/components/schemas/SendOrderRequest'}
            examples:
              sendOrderRequestExample:
                summary: Default sendOrder request
                x-microcks-default: true
                value:
                  orderType: lmt
                  symbol: PI_XBTUSD
                  side: buy
                  size: 0.01
                  limitPrice: '0.01'
                  stopPrice: '0.01'
                  triggerSignal: mark
                  reduceOnly: true
                  cliOrdId: OQCLML-BW3P3-BUCMWZ
                  trailingStopMaxDeviation: 0.01
                  trailingStopDeviationUnit: string
      responses:
        '200':
          description: Order acknowledgement
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {sendOrder200Example: {summary: Default sendOrder 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /editorder:
    post:
      operationId: editOrderFutures
      summary: Kraken Edit Order (Futures)
      description: Modifies a resting futures order (size, limitPrice, stopPrice).
      tags: [Trading]
      security: [futures_signature: []]
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema: {$ref: '#/components/schemas/EditOrderFuturesRequest'}
            examples:
              editOrderFuturesRequestExample:
                summary: Default editOrderFutures request
                x-microcks-default: true
                value:
                  orderId: OQCLML-BW3P3-BUCMWZ
                  cliOrdId: OQCLML-BW3P3-BUCMWZ
                  size: 0.01
                  limitPrice: '0.01'
                  stopPrice: '0.01'
                  trailingStopMaxDeviation: 0.01
                  trailingStopDeviationUnit: string
      responses:
        '200':
          description: Edit acknowledgement
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {editOrderFutures200Example: {summary: Default editOrderFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /cancelorder:
    post:
      operationId: cancelOrderFutures
      summary: Kraken Cancel Order (Futures)
      description: Cancels a specific open futures order.
      tags: [Trading]
      security: [futures_signature: []]
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required: [order_id]
              properties:
                order_id: {type: string}
                cliOrdId: {type: string}
            examples:
              cancelOrderFuturesRequestExample:
                summary: Default cancelOrderFutures request
                x-microcks-default: true
                value:
                  order_id: string
                  cliOrdId: string
      responses:
        '200':
          description: Cancel acknowledgement
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {cancelOrderFutures200Example: {summary: Default cancelOrderFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /cancelallorders:
    post:
      operationId: cancelAllOrdersFutures
      summary: Kraken Cancel All Orders (Futures)
      description: Cancels every open futures order, optionally scoped to a single instrument.
      tags: [Trading]
      security: [futures_signature: []]
      requestBody:
        required: false
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                symbol: {type: string}
            examples:
              cancelAllOrdersFuturesRequestExample:
                summary: Default cancelAllOrdersFutures request
                x-microcks-default: true
                value:
                  symbol: string
      responses:
        '200':
          description: Cancel-all acknowledgement
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {cancelAllOrdersFutures200Example: {summary: Default cancelAllOrdersFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /cancelallordersafter:
    post:
      operationId: cancelAllOrdersAfterFutures
      summary: Kraken Cancel All Orders After (Futures)
      description: Dead-man's-switch for futures — cancels all orders after the timeout unless re-armed.
      tags: [Trading]
      security: [futures_signature: []]
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required: [timeout]
              properties:
                timeout: {type: integer}
            examples:
              cancelAllOrdersAfterFuturesRequestExample:
                summary: Default cancelAllOrdersAfterFutures request
                x-microcks-default: true
                value:
                  timeout: 1
      responses:
        '200':
          description: Dead-man's-switch status
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {cancelAllOrdersAfterFutures200Example: {summary: Default cancelAllOrdersAfterFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /batchorder:
    post:
      operationId: batchOrderFutures
      summary: Kraken Batch Order (Futures)
      description: Submits a batch of order operations (place/edit/cancel) in a single signed call.
      tags: [Trading]
      security: [futures_signature: []]
      requestBody:
        required: true
        content:
          application/json:
            schema: {type: object, properties: {batchOrder: {type: array, items: {type: object}}}}
            examples:
              batchOrderFuturesRequestExample:
                summary: Default batchOrderFutures request
                x-microcks-default: true
                value:
                  batchOrder:
                    - {}
      responses:
        '200':
          description: Batch acknowledgement
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {batchOrderFutures200Example: {summary: Default batchOrderFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /transfer:
    post:
      operationId: transferFutures
      summary: Kraken Transfer Funds (Futures)
      description: Transfers funds between a Spot wallet and a Futures account, or between Futures accounts.
      tags: [Transfers]
      security: [futures_signature: []]
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required: [amount, fromAccount, toAccount, unit]
              properties:
                amount: {type: number}
                fromAccount: {type: string}
                toAccount: {type: string}
                unit: {type: string}
            examples:
              transferFuturesRequestExample:
                summary: Default transferFutures request
                x-microcks-default: true
                value:
                  amount: 0.01
                  fromAccount: string
                  toAccount: string
                  unit: string
      responses:
        '200':
          description: Transfer acknowledgement
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {transferFutures200Example: {summary: Default transferFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /withdrawal:
    post:
      operationId: withdrawalFutures
      summary: Kraken Withdrawal (Futures)
      description: Initiates a withdrawal from a Futures wallet to a Spot wallet.
      tags: [Transfers]
      security: [futures_signature: []]
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required: [amount, currency, targetAddress]
              properties:
                amount: {type: number}
                currency: {type: string}
                targetAddress: {type: string}
            examples:
              withdrawalFuturesRequestExample:
                summary: Default withdrawalFutures request
                x-microcks-default: true
                value:
                  amount: 0.01
                  currency: string
                  targetAddress: string
      responses:
        '200':
          description: Withdrawal acknowledgement
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {withdrawalFutures200Example: {summary: Default withdrawalFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /notifications:
    get:
      operationId: getNotifications
      summary: Kraken Get Notifications
      description: Returns any maintenance or risk notifications affecting the account.
      tags: [Account]
      security: [futures_signature: []]
      responses:
        '200':
          description: Notifications
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getNotifications200Example: {summary: Default getNotifications 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /historicalorders:
    get:
      operationId: getHistoricalOrders
      summary: Kraken Get Historical Orders
      description: Returns recent historical orders.
      tags: [History]
      security: [futures_signature: []]
      responses:
        '200':
          description: Historical orders
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getHistoricalOrders200Example: {summary: Default getHistoricalOrders 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /historicalexecutions:
    get:
      operationId: getHistoricalExecutions
      summary: Kraken Get Historical Executions
      description: Returns recent execution events.
      tags: [History]
      security: [futures_signature: []]
      responses:
        '200':
          description: Historical executions
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getHistoricalExecutions200Example: {summary: Default getHistoricalExecutions 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /historicaltriggers:
    get:
      operationId: getHistoricalTriggers
      summary: Kraken Get Historical Triggers
      description: Returns recent trigger events.
      tags: [History]
      security: [futures_signature: []]
      responses:
        '200':
          description: Historical triggers
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getHistoricalTriggers200Example: {summary: Default getHistoricalTriggers 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /accountlog:
    get:
      operationId: getAccountLog
      summary: Kraken Get Account Log
      description: Returns the account log (settlements, funding, transfers).
      tags: [History]
      security: [futures_signature: []]
      responses:
        '200':
          description: Account log
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getAccountLog200Example: {summary: Default getAccountLog 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /charts/{tickSize}/{symbol}/{interval}:
    get:
      operationId: getChartCandles
      summary: Kraken Get Chart Candles
      description: Returns OHLC candles for a futures instrument at a given interval.
      tags: [Charts]
      parameters:
        - {name: tickSize, in: path, required: true, schema: {type: string, enum: [trade, mark, spot]}, example: trade}
        - {name: symbol, in: path, required: true, schema: {type: string}, example: PI_XBTUSD}
        - {name: interval, in: path, required: true, schema: {type: string, enum: [1m, 5m, 15m, 30m, 1h, 4h, 12h, 1d, 1w]}, example: 1m}
        - {name: from, in: query, required: false, schema: {type: integer}, example: 1}
        - {name: to, in: query, required: false, schema: {type: integer}, example: 1}
      responses:
        '200':
          description: Candles
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getChartCandles200Example: {summary: Default getChartCandles 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
  /apikey/v3:
    get:
      operationId: checkApiKeyV3
      summary: Kraken Check API Key (V3)
      description: Validates an API key's identity, permissions, and expiry.
      tags: [Auth]
      security: [futures_signature: []]
      responses:
        '200':
          description: Key info
          content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {checkApiKeyV3200Example: {summary: Default checkApiKeyV3 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}}
      x-microcks-operation: {delay: 0, dispatcher: FALLBACK}
components:
  securitySchemes:
    futures_signature:
      type: apiKey
      in: header
      name: APIKey
      description: >-
        Kraken Futures signs requests with two headers: `APIKey` (public key)
        and `Authent` (base64 HMAC-SHA512 over `postData + nonce + endpointPath`
        using the SHA-256 hash of those values, then HMAC-SHA512 keyed by the
        base64-decoded secret). A `Nonce` header carries the incrementing nonce.
  schemas:
    BaseEnvelope:
      type: object
      properties:
        result: {type: string, enum: [success, error], example: success}
        serverTime: {type: string, format: date-time, example: '2026-05-30T00:00:00Z'}
        error: {type: string, example: string}
    Instrument:
      type: object
      properties:
        symbol: {type: string, example: PI_XBTUSD}
        type: {type: string, enum: [futures_inverse, futures_vanilla, flexible_futures, perpetual_inverse, perpetual_vanilla], example: futures_inverse}
        tradeable: {type: boolean, example: true}
        underlying: {type: string, example: string}
        lastTradingTime: {type: string, format: date-time, example: '2026-05-30T00:00:00Z'}
        tickSize: {type: number, example: 0.01}
        contractSize: {type: number, example: 0.01}
        marginLevels: {type: array, items: {type: object}, example: '0.01'}
        fundingRateCoefficient: {type: number, example: 0.01}
        maxRelativeFundingRate: {type: number, example: 0.01}
    InstrumentsResponse:
      allOf:
        - $ref: '#/components/schemas/BaseEnvelope'
        - type: object
          properties:
            instruments:
              type: array
              items: {$ref: '#/components/schemas/Instrument'}
              example: []
    Ticker:
      type: object
      properties:
        symbol: {type: string, example: PI_XBTUSD}
        last: {type: number, example: 0.01}
        lastTime: {type: string, format: date-time, example: '2026-05-30T00:00:00Z'}
        lastSize: {type: number, example: 0.01}
        markPrice: {type: number, example: '0.01'}
        bid: {type: number, example: OQCLML-BW3P3-BUCMWZ}
        bidSize: {type: number, example: 0.01}
        ask: {type: number, example: 0.01}
        askSize: {type: number, example: 0.01}
        vol24h: {type: number, example: '0.01'}
        openInterest: {type: number, example: 0.01}
        open24h: {type: number, example: 0.01}
        indexPrice: {type: number, example: '0.01'}
        fundingRate: {type: number, example: 0.01}
        fundingRatePrediction: {type: number, example: 0.01}
        suspended: {type: boolean, example: true}
        tag: {type: string, example: string}
        pair: {type: string, example: XBTUSD}
    TickersResponse:
      allOf:
        - $ref: '#/components/schemas/BaseEnvelope'
        - type: object
          properties:
            tickers:
              type: array
              items: {$ref: '#/components/schemas/Ticker'}
              example: []
    Account:
      type: object
      properties:
        type: {type: string, enum: [cashAccount, marginAccount, multiCollateralMarginAccount], example: cashAccount}
        currency: {type: string, example: string}
        balances:
          type: object
          additionalProperties: {type: number}
          example: {}
        auxiliary:
          type: object
          properties:
            af: {type: number, example: 0.01}
            pnl: {type: number, example: 0.01}
            pv: {type: number, example: 0.01}
          example: {}
        marginRequirements:
          type: object
          properties:
            im: {type: number, example: 0.01}
            mm: {type: number, example: 0.01}
            lt: {type: number, example: 0.01}
            tt: {type: number, example: 0.01}
          example: '0.01'
        triggerEstimates:
          type: object
          properties:
            im: {type: number, example: 0.01}
            mm: {type: number, example: 0.01}
            lt: {type: number, example: 0.01}
            tt: {type: number, example: 0.01}
          example: {}
    AccountsResponse:
      allOf:
        - $ref: '#/components/schemas/BaseEnvelope'
        - type: object
          properties:
            accounts:
              type: object
              additionalProperties: {$ref: '#/components/schemas/Account'}
              example: {}
    SendOrderRequest:
      type: object
      required: [orderType, symbol, side, size]
      properties:
        orderType: {type: string, enum: [lmt, post, mkt, stp, take_profit, ioc], example: lmt}
        symbol: {type: string, example: PI_XBTUSD}
        side: {type: string, enum: [buy, sell], example: buy}
        size: {type: number, example: 0.01}
        limitPrice: {type: number, example: '0.01'}
        stopPrice: {type: number, example: '0.01'}
        triggerSignal: {type: string, enum: [mark, index, last], example: mark}
        reduceOnly: {type: boolean, example: true}
        cliOrdId: {type: string, example: OQCLML-BW3P3-BUCMWZ}
        trailingStopMaxDeviation: {type: number, example: 0.01}
        trailingStopDeviationUnit: {type: string, example: string}
    EditOrderFuturesRequest:
      type: object
      properties:
        orderId: {type: string, example: OQCLML-BW3P3-BUCMWZ}
        cliOrdId: {type: string, example: OQCLML-BW3P3-BUCMWZ}
        size: {type: number, example: 0.01}
        limitPrice: {type: number, example: '0.01'}
        stopPrice: {type: number, example: '0.01'}
        trailingStopMaxDeviation: {type: number, example: 0.01}
        trailingStopDeviationUnit: {type: string, example: string}