Orders
Place, modify and cancel orders, with order types, time in force and pre-trade risk checks.
Orders are placed through one API for paper and live accounts. Every order passes pre-trade risk checks before it routes.
Place an order
const order = await cl.trading.orders.create({
account: 'paper',
symbol: 'NVDA',
side: 'buy',
type: 'limit',
qty: 250,
limitPrice: '189.40',
timeInForce: 'day',
bracket: { takeProfit: '196.00', stopLoss: '184.20' },
});
{ "id": "ord_01J9ZS4TQ8", "status": "accepted", "symbol": "NVDA", "qty": 250, "filled_qty": 0 }
Order types
Brackets attach take-profit and stop-loss legs to an entry order. OCO groups two working orders so a fill on one cancels the other: pass ocoGroup with the same value on both.
Time in force
day, gtc (good until cancelled, up to 90 days), ioc (immediate or cancel) and fok (fill or kill). Crypto orders support gtc, ioc and fok.
Risk checks
Every order is checked for buying power, position limits, daily loss limit, price band, order rate and kill switch. A rejection names the check and what would pass:
{
"status": "rejected",
"check": "position_limit",
"detail": "Resulting NVDA position 24.6% of equity exceeds the per-symbol limit of 20.0%.",
"max_qty": 1840
}
Limit prices more than 2% from the last trade (5% for crypto) require confirmPriceBand: true.
Modify and cancel
PATCH /v1/trading/orders/{id} changes quantity or prices of a working order. DELETE /v1/trading/orders/{id} cancels it. Cancelling an order that has already filled returns 409.
FIX
Enterprise accounts can connect over FIX 4.4 with a dedicated session and drop copy. Contact your account team for session details and the rules of engagement document.
AI signals shown in the terminal are informational only and are not financial advice. Orders are never placed from signals unless you build a strategy that does so.