BitOasis Orders API

Place, cancel, and read Pro exchange orders.

OpenAPI Specification

bitoasis-orders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: BitOasis Exchange Account Orders API
  version: v1
  description: The BitOasis Exchange REST API for the MENA region's crypto exchange. Provides public market data (markets, tickers, order books, trades) and authenticated account operations (balances, banks, order placement/cancellation, and crypto and fiat deposits/withdrawals). Trading pairs are quoted against the UAE Dirham (AED) and other fiat, e.g. BTC-AED. Authentication uses a Bearer API token generated from Settings > Security > Token Management. This description is derived faithfully from BitOasis' first-party open-source MCP client (github.com/bit-oasis/bitoasis-mcp, src/bitoasis_mcp/client.py) which wraps the same https://api.bitoasis.net/v1 REST surface documented at https://api.bitoasis.net/doc/.
  x-provenance:
    generated: '2026-07-18'
    method: derived
    source: https://raw.githubusercontent.com/bit-oasis/bitoasis-mcp/main/src/bitoasis_mcp/client.py
  contact:
    name: BitOasis Support
    email: support@bitoasis.net
    url: https://support.bitoasis.net/
  license:
    name: Proprietary
servers:
- url: https://api.bitoasis.net/v1
  description: Production
security:
- bearerAuth: []
tags:
- name: Orders
  description: Place, cancel, and read Pro exchange orders.
paths:
  /exchange/orders/{pair}:
    get:
      operationId: getOrders
      tags:
      - Orders
      summary: List orders
      description: List orders for a pair, filterable by status (OPEN/DONE/CANCELED).
      parameters:
      - $ref: '#/components/parameters/Pair'
      - name: status
        in: query
        required: false
        schema:
          type: string
          enum:
          - OPEN
          - DONE
          - CANCELED
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/FromDate'
      responses:
        '200':
          description: Orders for the pair.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /exchange/order/{order_id}:
    get:
      operationId: getOrder
      tags:
      - Orders
      summary: Get order
      description: Order details by ID.
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Order details.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /exchange/order:
    post:
      operationId: placeOrder
      tags:
      - Orders
      summary: Place order
      description: Place a limit, market, stop, or stop_limit order. Pass test=true to validate the order without executing it (sandbox / dry-run mode).
      parameters:
      - name: test
        in: query
        required: false
        description: When true, validates the order without placing it.
        schema:
          type: boolean
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - pair
              - side
              - type
              - amount
              properties:
                pair:
                  type: string
                  example: BTC-AED
                side:
                  type: string
                  enum:
                  - buy
                  - sell
                type:
                  type: string
                  enum:
                  - limit
                  - market
                  - stop
                  - stop_limit
                amount:
                  type: string
                price:
                  type: string
                stop_price:
                  type: string
      responses:
        '200':
          description: Order placed (or validated when test=true).
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /exchange/cancel-order:
    post:
      operationId: cancelOrder
      tags:
      - Orders
      summary: Cancel order
      description: Cancel an open order by ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
      responses:
        '200':
          description: Order canceled.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    BadRequest:
      description: Bad request.
    Unauthorized:
      description: Missing or invalid API token.
    NotFound:
      description: Resource not found.
  parameters:
    Pair:
      name: pair
      in: path
      required: true
      description: Trading pair, e.g. BTC-AED.
      schema:
        type: string
        example: BTC-AED
    FromDate:
      name: from_date
      in: query
      required: false
      description: ISO date to filter results from.
      schema:
        type: string
        format: date
    Limit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
    Offset:
      name: offset
      in: query
      required: false
      schema:
        type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API token generated at Settings > Security > Token Management, sent as an Authorization: Bearer <token> header. Tokens carry granular read permissions (Account Balance, deposit/withdrawal read access, Pro Order read access) and optional trade/withdrawal write permissions.'