One Trading Trading API

Account order and trade endpoints (Bearer token, TRADE/READ scope)

OpenAPI Specification

one-trading-trading-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: One Fast Funding Trading API
  version: '1.0'
  description: 'REST API for the One Trading exchange ("Fast API"). Public market-data endpoints (currencies, instruments, order book, candlesticks, market ticker, fees, funding rates, server time) require no authentication. Account, trading and futures endpoints require a Bearer API token with the appropriate permission scope (Read / Trade / Withdraw / SUBACCOUNT_TRANSFER).

    Provenance: this specification was reconstructed by API Evangelist from the provider''s public documentation index (https://docs.onetrading.com/llms.txt) and from live responses of the public endpoints. Request/response schemas for public endpoints reflect real observed payloads; authenticated operations are modeled from the documented operation catalog. It is not the provider''s official machine-readable contract.'
  x-provenance:
    generated: '2026-07-20'
    method: generated
    source:
    - https://docs.onetrading.com/llms.txt
    - https://api.onetrading.com/fast/v1/currencies
    - https://api.onetrading.com/fast/v1/instruments
    - https://api.onetrading.com/fast/v1/market-ticker
    - https://api.onetrading.com/fast/v1/order-book/BTC_USDC
    - https://api.onetrading.com/fast/v1/fees
    - https://api.onetrading.com/fast/v1/funding-rate
    - https://docs.onetrading.com/rest/trading/create-order.md
servers:
- url: https://api.onetrading.com/fast
  description: Production
security:
- BearerToken: []
tags:
- name: Trading
  description: Account order and trade endpoints (Bearer token, TRADE/READ scope)
paths:
  /v1/account/balances:
    get:
      tags:
      - Trading
      operationId: getBalances
      summary: Balances
      description: Returns the balance details for an account. Requires READ scope.
      responses:
        '200':
          description: Account balances
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/account/fees:
    get:
      tags:
      - Trading
      operationId: getAccountFees
      summary: Account Fees
      description: Current fees for account, calculated and combined across all subaccounts. Requires READ scope.
      responses:
        '200':
          description: Account fees
        '403':
          description: Forbidden
  /v1/account/orders:
    get:
      tags:
      - Trading
      operationId: getOrders
      summary: Get Orders
      description: Returns a paginated list of orders. Requires READ scope.
      parameters:
      - name: instrument_code
        in: query
        required: false
        schema:
          type: string
      - name: from
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: max_page_size
        in: query
        required: false
        schema:
          type: integer
      - name: cursor
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Paginated orders
        '403':
          description: Forbidden
    post:
      tags:
      - Trading
      operationId: createOrder
      summary: Create Order
      description: Create a new order. Requires TRADE scope.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        '200':
          description: Created order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      tags:
      - Trading
      operationId: cancelAllOrders
      summary: Cancel All Orders
      description: Submits a cancel request for all open orders of an account. Requires TRADE scope.
      responses:
        '200':
          description: Cancelled
        '403':
          description: Forbidden
  /v1/account/orders/{order_id}:
    get:
      tags:
      - Trading
      operationId: getOrderByOrderId
      summary: Get Order by Order ID
      description: Get information about an existing order using the exchange generated order_id.
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      tags:
      - Trading
      operationId: cancelOrderByOrderId
      summary: Cancel Order by Order ID
      description: Submits a request to close an open order by providing a valid order_id. Requires TRADE scope.
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Cancelled
        '404':
          description: Not Found
  /v1/account/orders/client/{client_id}:
    get:
      tags:
      - Trading
      operationId: getOrderByClientId
      summary: Get Order by Client ID
      description: Get information about an existing order using the user or exchange generated client_id.
      parameters:
      - name: client_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '404':
          description: Not Found
    delete:
      tags:
      - Trading
      operationId: cancelOrderByClientId
      summary: Cancel Order by Client ID
      description: Submits a request to cancel an open order by providing a valid client_id. Requires TRADE scope.
      parameters:
      - name: client_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Cancelled
        '404':
          description: Not Found
  /v1/account/orders/{order_id}/trades:
    get:
      tags:
      - Trading
      operationId: getTradesForOrder
      summary: Get Trades for Order
      description: Get list of trades for a specific order.
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Trades for order
  /v1/account/trades:
    get:
      tags:
      - Trading
      operationId: getTrades
      summary: Get Trades
      description: Retrieves trades executed within the specified date range, sorted by timestamp descending.
      parameters:
      - name: from
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: max_page_size
        in: query
        required: false
        schema:
          type: integer
      - name: cursor
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Paginated trades
  /v1/account/trade/{trade_id}:
    get:
      tags:
      - Trading
      operationId: getTradeByTradeId
      summary: Get Trade by Trade ID
      description: Get information about an executed trade using the exchange generated trade_id.
      parameters:
      - name: trade_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Trade
        '404':
          description: Not Found
components:
  schemas:
    CreateOrderRequest:
      type: object
      required:
      - instrument_code
      - type
      - side
      - amount
      - price
      properties:
        instrument_code:
          type: string
          description: Market ID from the instruments endpoint
        type:
          type: string
          enum:
          - LIMIT
        side:
          type: string
          enum:
          - BUY
          - SELL
        amount:
          type: string
          description: Currency amount for the order
        price:
          type: string
          description: Execution price
        client_id:
          type: string
          format: uuid
          description: User-provided unique identifier used to de-duplicate and look up the order.
        time_in_force:
          type: string
          enum:
          - GOOD_TILL_CANCELLED
          - IMMEDIATE_OR_CANCELLED
          - FILL_OR_KILL
          - POST_ONLY
          default: GOOD_TILL_CANCELLED
        reserve_price:
          type: string
          description: Maximum price for MOVE orders
    Order:
      type: object
      properties:
        order_id:
          type: string
          format: uuid
        client_id:
          type: string
          format: uuid
        account_id:
          type: string
          format: uuid
        instrument_code:
          type: string
        time:
          type: string
          format: date-time
        side:
          type: string
          enum:
          - BUY
          - SELL
        price:
          type: string
        amount:
          type: string
        type:
          type: string
          enum:
          - LIMIT
        time_in_force:
          type: string
        status:
          type: string
    Error:
      type: object
      description: One Trading error envelope. Errors carry a single machine-readable code string.
      properties:
        error:
          type: string
          example: INVALID_INSTRUMENT_CODE
  securitySchemes:
    BearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'API token generated in the One Trading UI, sent as ''Authorization: Bearer <token>''. Tokens carry one or more permission scopes: Read, Trade, Withdraw, SUBACCOUNT_TRANSFER.'