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 header. Tokens carry granular read permissions (Account Balance, deposit/withdrawal read access, Pro Order read access) and optional trade/withdrawal write permissions.'