Orders

Place, query, and cancel orders

Place Order

POST /v1/orders
Authorization: Bearer <token>
Content-Type: application/json

{
  "accountId": "clx...",
  "symbol": "BTCUSDT",
  "side": "BUY",
  "type": "LIMIT",
  "quantity": "0.01",
  "price": "70000",
  "positionSide": "LONG",
  "reduceOnly": false,
  "subAccountId": "34696153"
}

Parameters:

FieldTypeRequiredDescription
accountIdstringYesYour account ID
symbolstringYesTrading pair (e.g. BTCUSDT)
sidestringYesBUY or SELL
typestringYesOrder type (see below)
quantitystringYesOrder quantity in base asset
pricestringConditionalRequired for LIMIT and STOP orders
stopPricestringConditionalRequired for STOP and TAKE_PROFIT orders
positionSidestringNoBOTH, LONG, or SHORT. Default: BOTH
reduceOnlybooleanNoOnly reduce existing position. Default: false
subAccountIdstringNoSub-account ID

Order Types:

TypeDescription
MARKETExecute immediately at market price
LIMITExecute at specified price or better
STOPStop-loss with limit price (requires stopPrice + price)
STOP_MARKETStop-loss at market price (requires stopPrice)
TAKE_PROFITTake profit with limit price (requires stopPrice + price)
TAKE_PROFIT_MARKETTake profit at market price (requires stopPrice)

Response:

{
  "ok": true,
  "order": {
    "id": "clx...",
    "symbol": "BTCUSDT",
    "side": "BUY",
    "type": "LIMIT",
    "quantity": "0.01",
    "price": "70000",
    "status": "NEW",
    "clientOrderId": "usr_abc123..."
  },
  "venue": { "orderId": 123456789 }
}

Permission: Requires TRADE permission for API key users.

Note: Your margin type preference (Cross/Isolated) set via /v1/futures/margin-type is automatically applied to every order. You don't need to send it explicitly.


List Orders

GET /v1/orders?symbol=BTCUSDT&status=NEW&limit=50&offset=0
Authorization: Bearer <token>

Query Parameters:

ParameterTypeRequiredDefaultDescription
symbolstringNo-Filter by trading pair
statusstringNo-Filter by status
limitnumberNo50Max results (up to 200)
offsetnumberNo0Pagination offset

Response:

{
  "ok": true,
  "orders": [...],
  "total": 142
}

Get Order

GET /v1/orders/:id
Authorization: Bearer <token>

Cancel Order

POST /v1/orders/:id/cancel
Authorization: Bearer <token>
Content-Type: application/json

{
  "subAccountId": "34696153"
}

Cancel All Open Orders

DELETE /v1/orders/open?accountId=clx...&symbol=BTCUSDT&subAccountId=34696153
Authorization: Bearer <token>

Response:

{
  "ok": true,
  "canceled": 3,
  "total": 3,
  "results": [
    { "orderId": "clx...", "symbol": "BTCUSDT", "status": "CANCELED" }
  ]
}

Get Open Orders (Exchange)

Returns open orders directly from the exchange (not from local DB):

GET /v1/futures/open-orders?subAccountId=34696153&symbol=BTCUSDT
Authorization: Bearer <token>

On this page