Cancel one options or stock order
https://app.skylit.ai/api/nexus/v1/trading/wallets/{book}/orders/{orderId}/cancelCancels a resting order and gives back the buying power it held. Safe to send twice: a second cancel answers 200 with meta.alreadyCancelled: true.
An order that's filled, expired or rejected answers 409 order_not_working. A stock stop that's been set off, or an options stop whose sell is going through, answers 409 stop_triggered: it's filling now. A test order's id cancels it in your test log only.
Authorization
Authorization: Bearer <your API key>Required. A missing header returns 401; an invalid, revoked or expired key returns 403.
Path parameters
bookstringrequiredmainis your own paper wallet,agentis your bot's.mainagentorderIdstringuuidrequiredThe order's id, from the open, the working list or the history.
Request body
testbooleantrueacts on a test order in your test log only.
Responses
- 200
The order, cancelled.
- 400
The request was refused before anything was traded. Codes:
bad_request,bad_contract,invalid_quantity,invalid_price,unsupported_asset_class,unsupported_order_type,only_market_orders,limit_price_required(a limit with nolimitPrice),invalid_limit_price(not in cents, or outside 0.01 to 99,999.99 for options or 999,999.99 for stocks),stop_price_required(a stop with nostopPrice),invalid_stop_price(not in cents, or outside 0.01 to 999,999.99),invalid_take_profit,test_orders_unavailable,test_modify_unavailable. - 401
No key, or a key that isn't valid. Codes:
missing_api_key,invalid_api_key. - 404
Not on your account. Codes:
trade_not_found,account_not_found,order_not_found. - 409
The order clashes with what you hold or sent before. Codes:
duplicate_position(withtradeId: add to it instead),trade_closed,open_position_limit(open positions plus resting opens through the API are at 50),working_order_limit(50 options and stock orders already resting through the API),position_size_limit(an add would take the position past 1,000 contracts or 100,000 shares),client_order_id_used,request_in_progress,account_locked,account_busy,account_ended,order_not_working(it already filled, expired, or was cancelled or rejected),stop_triggered(a stop that's been set off is filling now, so it can't be cancelled or changed). - 429
Over a rate limit. Wait
Retry-Afterseconds, then retry. Codes:rate_limited, andstream_limit_reached(too many live streams open: 3 per key, 6 per account). - 503
Try again in a moment (honour
Retry-Afterwhen it's sent). Codes:stale_quote(the quote, or a stock's last trade, is more than 15 seconds old, so nothing filled),no_live_price,rules_pending,unavailable,auth_unavailable,access_check_unavailable,api_keys_unavailable,trades_api_disabled,stream_unavailable(the live stream isn't on, or the server is restarting: try again shortly, or poll the reads).
Response fields
dataobjectA resting options or stock order: a limit, a stock stop, or an options stop-loss and target. It's not a
Trade: when it fills,tradeIdis the trade it went to.idstringuuidassetClassstringoptionsstockssourcestringapiwhen a key placed it. Left out on an order placed on the Options Desk in Nexus.bookstringmainagentclientOrderIdstringtickerstringstrikenumberOptions only.
directionstringcallorputon an option.longorshorton a stock: the side of the position it opens or closes.expirationstringdateOptions only.
sidestringbuysellpositionEffectstringopenclosequantityintegerfilledQuantityintegerorderTypestringstop,take_profitandbracketon an option are options stops. A trailing stop set on the Options Desk shows astrailing_stop(withtriggerOnpremiumwhen it trails the option's own bid), and a desk market order asmarket, on the main wallet's list.limitstoptake_profitbrackettrailing_stopmarkettimeInForcestringdaygtcstatusstringworkingfilledcancelledrejectedexpiredstatusReasonstringWhy, when there's a reason.
limitPricenumberstopPricenumberA stock stop's level.
stopLossnumberAn options stop: the stock price the stop fires at.
takeProfitnumberAn options stop: the stock price the target fires at.
triggerOnstringunderlyingon an options stop: its levels are the stock's price.underlyingpremiumunderlyingstringThe stock an options stop watches.
firedLegstringWhich leg of an options stop fired.
stop_losstake_profittriggeredAtstringdate-timeWhen a stop was set off. It can't be cancelled or changed after that.
triggerPricenumberThe trade (or for an options stop, the stock price) that set it off.
fillOrderIdstringuuidAn options stop that fired: the sell it sent.
fillPricenumberThe average fill: the ask a buy paid, the bid a sell got, or a stock's trade price.
tradeIdstringuuidThe trade the fill went to, or the trade an options stop protects.
reservedCentsintegerBuying power a resting open holds back. 0 once it stops resting, and on a close.
placedAtstringdate-timefilledAtstringdate-timeexpiresAtstringdate-timetestbooleantrueon a test order. It never fills.
Last updated