---
title: "Place Order"
method: POST
path: "/v1/accounts/{account_id}/orders"
tags: ["Trading"]
---

# Place Order

`POST /v1/accounts/{account_id}/orders`

## Request

- Base URL: `https://api.tradier.com`
- URL: `https://api.tradier.com/v1/accounts/{account_id}/orders`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/tradier/apis/tradier-brokerage-api/docs/v1/accounts/:account_id/orders/post.ts> (a function with typed inputs; its response is checked against the schema)

Place a trading order. Supports equity, option, multileg, combo, OTO, OCO, and OTOCO order types.

## Path parameters

- `account_id` string, required

## Headers

- `Content-Type` 'application/x-www-form-urlencoded', required

## Request body `application/x-www-form-urlencoded`

- union
  - EquityOrderRequest
    - `symbol` string, required: The security symbol or underlying symbol for options
    - `quantity` number, required: The order quantity
    - `type` 'market' | 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. One of: market, limit, stop, stop_limit
    - `duration` 'day' | 'gtc' | 'pre' | 'post', required: The order duration
    - `price` number: The limit price (required for limit and stop_limit orders)
    - `stop` number: The stop price (required for stop and stop_limit orders)
    - `tag` string: User-defined tag for the order
    - `preview` boolean, required: When true, validates the order without submitting it
    - `class` 'equity', required: Order class identifier
    - `side` 'buy' | 'sell' | 'sell_short' | 'buy_to_cover': The side of the order. One of: buy, sell, sell_short, buy_to_cover
  - OptionOrderRequest
    - `symbol` string, required: The security symbol or underlying symbol for options
    - `quantity` number, required: The order quantity
    - `type` 'market' | 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. One of: market, limit, stop, stop_limit
    - `duration` 'day' | 'gtc' | 'pre' | 'post', required: The order duration
    - `price` number: The limit price (required for limit and stop_limit orders)
    - `stop` number: The stop price (required for stop and stop_limit orders)
    - `tag` string: User-defined tag for the order
    - `preview` boolean, required: When true, validates the order without submitting it
    - `class` 'option', required: Order class identifier
    - `option_symbol` string, required: The OCC option symbol
    - `side` 'buy_to_open' | 'sell_to_open' | 'sell_to_close' | 'buy_to_close': The side of the order. One of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
  - MultilegOrderRequest
    - `class` 'multileg', required: Order class identifier
    - `symbol` string, required: The underlying security symbol of the options
    - `type` 'market' | 'debit' | 'credit' | 'even', required: The type of order to be placed. One of: market, debit, credit, even
    - `duration` 'day' | 'gtc' | 'pre' | 'post', required: The order duration
    - `price` number: The limit price (required for debit and credit orders)
    - `option_symbol[0]` string: OCC option symbol of the option
    - `side[0]` 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close': The side of the option leg. One of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `quantity[0]` number: The number of contracts for the option leg
    - `option_symbol[1]` string: OCC option symbol of the option
    - `side[1]` 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close': The side of the option leg. One of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `quantity[1]` number: The number of contracts for the option leg
    - `option_symbol[2]` string: OCC option symbol of the option
    - `side[2]` 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close': The side of the option leg. One of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `quantity[2]` number: The number of contracts for the option leg
    - `option_symbol[3]` string: OCC option symbol of the option
    - `side[3]` 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close': The side of the option leg. One of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `quantity[3]` number: The number of contracts for the option leg
    - `tag` string: User-defined tag for the order
    - `preview` boolean, required: When true, validates the order without submitting it
  - ComboOrderRequest
    - `class` 'combo', required: Order class identifier
    - `symbol` string, required: The underlying security symbol
    - `type` 'market' | 'debit' | 'credit' | 'even', required: The order type
    - `duration` 'day' | 'gtc' | 'pre' | 'post', required: The order duration
    - `price` number: The limit price (required for debit and credit orders)
    - `side[0]` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short', required: The side of the equity leg. One of: buy, buy_to_cover, sell, sell_short
    - `quantity[0]` number, required: The quantity of shares for the equity leg
    - `option_symbol[1]` string, required: OCC option symbol of the option
    - `side[1]` 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close', required: The side of the option leg. One of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `quantity[1]` number, required: The number of contracts for the option leg
    - `option_symbol[2]` string: OCC option symbol of the option
    - `side[2]` 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close': The side of the option leg. One of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `quantity[2]` number: The number of contracts for the option leg
    - `tag` string: User-defined tag for the order
    - `preview` boolean, required: When true, validates the order without submitting it
  - OTOOrderRequest
    - `class` 'oto', required: Order class identifier
    - `duration` 'day' | 'gtc' | 'pre' | 'post', required: Time the order will remain active. One of: day, gtc, pre, post. For different durations per leg, duration can be specified as 0 indexed positions, ie duration[0]=day&duration[1]=gtc
    - `symbol[0]` string, required: The underlying security symbol
    - `quantity[0]` number, required: The number of contracts for the option leg
    - `type[0]` 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. First order, one of: limit, stop, stop_limit
    - `option_symbol[0]` string: OCC option symbol of the option
    - `side[0]` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short' | 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close', required: The side of the leg. Equity orders, one of: buy, buy_to_cover, sell, sell_short Option orders, one of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `price[0]` number: Limit price. Required only for limit, stop_limit, debit and credit orders.
    - `stop[0]` number: Stop price. Required only for stop and stop_limit orders.
    - `symbol[1]` string, required: The underlying security symbol
    - `quantity[1]` number, required: The number of contracts for the option leg
    - `type[1]` 'market' | 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. Second order, one of: market,limit, stop, stop_limit
    - `option_symbol[1]` string: OCC option symbol of the option
    - `side[1]` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short' | 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close', required: The side of the leg. Equity orders, one of: buy, buy_to_cover, sell, sell_short Option orders, one of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `price[1]` number: Limit price. Required only for limit, stop_limit, debit and credit orders.
    - `stop[1]` number: Stop price. Required only for stop and stop_limit orders.
    - `tag` string: User-defined tag for the order
    - `preview` boolean, required: When true, validates the order without submitting it
  - OCOOrderRequest
    - `class` 'oco', required: Order class identifier
    - `duration` 'day' | 'gtc' | 'pre' | 'post', required: Time the order will remain active. One of: day, gtc, pre, post.
    - `symbol[0]` string, required: The underlying security symbol
    - `quantity[0]` number, required: The number of contracts for the option leg
    - `type[0]` 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. First order, one of: limit, stop, stop_limit
    - `option_symbol[0]` string: OCC option symbol of the option
    - `side[0]` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short' | 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close', required: The side of the leg. Equity orders, one of: buy, buy_to_cover, sell, sell_short Option orders, one of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `price[0]` number: Limit price. Required only for limit, stop_limit, debit and credit orders.
    - `stop[0]` number: Stop price. Required only for stop and stop_limit orders.
    - `symbol[1]` string, required: The underlying security symbol
    - `quantity[1]` number, required: The number of contracts for the option leg
    - `type[1]` 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. Second order, one of: limit, stop, stop_limit
    - `option_symbol[1]` string: OCC option symbol of the option
    - `side[1]` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short' | 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close', required: The side of the leg. Equity orders, one of: buy, buy_to_cover, sell, sell_short Option orders, one of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `price[1]` number: Limit price. Required only for limit, stop_limit, debit and credit orders.
    - `stop[1]` number: Stop price. Required only for stop and stop_limit orders.
    - `tag` string: User-defined tag for the order
    - `preview` boolean, required: When true, validates the order without submitting it
  - OTOCOOrderRequest
    - `class` 'otoco', required: Order class identifier
    - `duration` 'day' | 'gtc' | 'pre' | 'post': Time the order will remain active. One of: day, gtc, pre, post. Alternatively, it can also be sent per leg (duration[index]) as long as the main duration is omitted.
    - `symbol[0]` string: The underlying security symbol, use for equities legs
    - `quantity[0]` number, required: The number of contracts for the option leg
    - `type[0]` 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. First order, one of: limit, stop, stop_limit
    - `option_symbol[0]` string: OCC option symbol of the option, use for option legs
    - `side[0]` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short' | 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close', required: The side of the leg. Equity orders, one of: buy, buy_to_cover, sell, sell_short Option orders, one of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `price[0]` number: Limit price. Required only for limit, stop_limit, debit and credit orders.
    - `stop[0]` number: Stop price. Required only for stop and stop_limit orders.
    - `symbol[1]` string: The underlying security symbol, use for equities legs
    - `option_symbol[1]` string: OCC option symbol of the option
    - `quantity[1]` number, required: The number of contracts for the option leg
    - `type[1]` 'market' | 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. Second order, one of: limit, stop, stop_limit
    - `side[1]` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short' | 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close', required: The side of the leg. Equity orders, one of: buy, buy_to_cover, sell, sell_short Option orders, one of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `price[1]` number: Limit price. Required only for limit, stop_limit, debit and credit orders.
    - `stop[1]` number: Stop price. Required only for stop and stop_limit orders.
    - `symbol[2]` string: The underlying security symbol, use for equities legs
    - `option_symbol[2]` string: OCC option symbol of the option, use for option legs
    - `quantity[2]` number, required: The number of contracts for the option leg
    - `type[2]` 'limit' | 'stop' | 'stop_limit', required: The type of order to be placed. Second order, one of: limit, stop, stop_limit
    - `side[2]` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short' | 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close', required: The side of the leg. Equity orders, one of: buy, buy_to_cover, sell, sell_short Option orders, one of: buy_to_open, buy_to_close, sell_to_open, sell_to_close
    - `price[2]` number: Limit price. Required only for limit, stop_limit, debit and credit orders.
    - `stop[2]` number: Stop price. Required only for stop and stop_limit orders.
    - `tag` string: User-defined tag for the order
    - `preview` boolean, required: When true, validates the order without submitting it

## Response `200`

Order response information

- object
  - `order` DetailedOrder
    - `id` integer: The order ID
    - `type` 'market' | 'limit' | 'stop' | 'stop_limit' | 'debit' | 'credit' | 'even': The order type
    - `symbol` string: The security symbol
    - `side` 'buy' | 'buy_to_cover' | 'sell' | 'sell_short' | 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close': The side of the order
    - `quantity` number, float: The order quantity
    - `status` 'pending' | 'open' | 'partially_filled' | 'filled' | 'expired' | 'canceled' | 'rejected' | 'pending_cancel': The order status
    - `duration` 'day' | 'gtc' | 'pre' | 'post': The order duration
    - `avg_fill_price` number, float: The average fill price
    - `exec_quantity` number, float: The executed quantity
    - `create_date` string, date-time: The date the order was created
    - `transaction_date` string, date-time: The date of the last transaction
    - `class` 'equity' | 'option' | 'multileg' | 'combo': The security class
    - `last_fill_price` number, float: The price of the last fill
    - `last_fill_quantity` number, float: The quantity of the last fill
    - `remaining_quantity` number, float: The quantity remaining to be filled

## Other responses

- `400`: Invalid request parameters or body
- `401`: Authentication required or invalid credentials
- `403`: Access denied to the requested resource
- `404`: The requested resource was not found

---

[API](https://skmtc.dev/tradier/apis/tradier-brokerage-api.md) - [All operations](https://skmtc.dev/tradier/apis/tradier-brokerage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tradier/apis/tradier-brokerage-api/revisions/3cda47abe673?raw)
