Place Order
Submits a new trading order to the market with specified parameters including symbol, quantity, order type, and price. Supports market, limit, stop, and stop-limit orders for both equity and option securities with advanced order features.
Use Case: Execute buy or sell orders for stocks and options with customizable order types, time-in-force settings, and execution instructions.
Authorizations
OAuth2 Bearer token: obtain an access token from the token endpoint and send it in the Authorization header.
Body
The order to place. Required: tradingAccountId, symbol, side, type, qty, timeInForce. Add price for limit-style orders, stopPrice for stop-style orders, and legs for option orders. You may also send an OSI option symbol in symbol without legs and let the backend derive the option instrument.
Request body for placing a live order through the core trading API. Use Preview Order first when available, then submit this only after the user confirms the trade.
Trading account identifier that should receive the order. Enter the tradingAccountId selected by the user.
1 - 50"TEST-ACCOUNT-001"
Ticker or underlying symbol to trade. Confirm the exact uppercase value with symbol search before placing an order.
1 - 21"AAPL"
Which direction to trade in. Pick one:
BUY— buying shares or contracts (opens a long position or closes an existing short).SELL— selling shares or contracts you already hold (closes a long position).SELL_SHORT— selling shares you do not own (opens a short position). Subject to short-sale regulations.BUY_TO_COVER— buying shares to close an open short position.
BUY, SELL, SELL_SHORT, BUY_TO_COVER "BUY"
How the order is priced. Pick one:
MARKET— Execute immediately at the best available price. Fast and guaranteed to fill, but no price guarantee — the actual fill price can move during execution.LIMIT— Execute only at the limitpriceor better (lower for buys, higher for sells). Gives you price control, no execution guarantee. Requires thepricefield.STOP— Sits inactive until the market hitsstopPrice, then converts to a market order. Common for stop-loss exits. Requires thestopPricefield.STOP_LIMIT— Sits inactive until the market hitsstopPrice, then converts to a limit order atprice. More control thanSTOP, but the limit may not fill. Requires bothstopPriceandprice.
MARKET, LIMIT, STOP, STOP_LIMIT "LIMIT"
Number of shares or contracts to trade, sent as a decimal string. Example: "10" for ten shares or "1" for one option contract.
"10"
How long the order should stay alive before automatically cancelling. Pick one:
DAY— Active until the end of today's regular trading session, then cancelled if not filled. The default choice for most orders.GTC— Good 'Til Cancelled. Stays open across multiple trading days until you cancel it (the broker may cap at 60–90 days).IOC— Immediate Or Cancel. Fill whatever you can right now; cancel the rest immediately. Useful when you want partial fills but no resting order.FOK— Fill Or Kill. Fill the entire order immediately, or cancel it entirely. No partial fills allowed.EXTENDED_HOURS— Active during pre-market and after-hours trading sessions in addition to regular hours.AT_THE_OPENING— Execute at the official market open price; if it can't fill at open, it's cancelled.AT_THE_CLOSE— Execute at the official market close price; if it can't fill at close, it's cancelled.
DAY, GTC, IOC, FOK, EXTENDED_HOURS, AT_THE_OPENING, AT_THE_CLOSE "DAY"
Optional identifier from your app. Send this when you want to tag orders by app, user, strategy, or integration for your own reconciliation.
50"CLIENT-001"
Limit price as a decimal string. Required for LIMIT and STOP_LIMIT orders. For buys, this is the maximum price you will pay; for sells, it is the minimum price you will accept.
"150.00"
Trigger price as a decimal string. Required for STOP and STOP_LIMIT orders. When the market reaches this price, the stop order becomes active.
"145.00"
Three-letter currency code for the order. Use USD for U.S. dollar orders unless your integration supports another currency.
3"USD"
Option legs for single-leg or multi-leg option orders. Omit this field for equity orders. Send 1 leg for a single option contract or 2 to 4 legs for a spread or other multi-leg strategy.
4Response
Order placed successfully
Response returned after submitting an order request. Treat it as acknowledgement and continue monitoring order status until final fill, cancel, or rejection.
Whether the order request was accepted by Aries for processing. This does not guarantee a final fill.
true
Client order ID assigned to this order. Store this value to look up, replace, or cancel the order later.
"ORDER-123456"
Current order lifecycle state, mirroring FIX Tag 39 (OrdStatus). Most common values you'll see:
PENDING_NEW— broker has not yet acknowledged the order.NEW— order is live on the exchange (working, not yet executing).PARTIALLY_FILLED— some ofqtyhas filled; checkcumQtyandleavesQty.FILLED— the entire order has executed.PENDING_CANCEL/CANCELED— cancel request in progress / completed.PENDING_REPLACE/REPLACED— replace request in progress / completed.REJECTED— broker refused the order; seeordRejReasonandtext.EXPIRED— order reached its time-in-force limit without filling.STOPPED,SUSPENDED,DONE_FOR_DAY,CALCULATED,ACCEPTED_FOR_BID,SUPERSEDED— additional FIX states; rare in normal flows.
NEW, PARTIALLY_FILLED, FILLED, DONE_FOR_DAY, CANCELED, REPLACED, PENDING_CANCEL, STOPPED, REJECTED, SUSPENDED, PENDING_NEW, CALCULATED, EXPIRED, ACCEPTED_FOR_BID, PENDING_REPLACE, SUPERSEDED "NEW"
Symbol submitted on the order.
"AAPL"
Which direction to trade in. Pick one:
BUY— buying shares or contracts (opens a long position or closes an existing short).SELL— selling shares or contracts you already hold (closes a long position).SELL_SHORT— selling shares you do not own (opens a short position). Subject to short-sale regulations.BUY_TO_COVER— buying shares to close an open short position.
BUY, SELL, SELL_SHORT, BUY_TO_COVER "BUY"
Original order quantity as a decimal string.
"10"
Quantity already filled. Compare this with qty to understand partial fills.
"0"
Quantity still open and eligible to fill. Value becomes 0 when the order is fully filled or no longer active.
"10"
Average execution price for filled quantity. This is 0 until fills occur.
"0"
Broker or system message. Show this to users when it explains a status or warning.
Reason the order was rejected, when available. Use this to explain what the user needs to fix.
Time Aries or the broker recorded the order transaction.