Place a simple order (beta)
Changed onBeta. Places a single-leg or multi-leg order using a common request format for equities, equity options, futures, and future options. This endpoint is experimental; breaking changes are possible during the experimental phase.
Equity and equity-option orders use the existing brokerage trading capabilities. Futures and future options are currently supported only on tastytrade. Order types, time in force, optional fields, and strategy combinations remain subject to brokerage support. See the brokerage trading support page.
An order may contain equity/option legs or future/future_option legs, but cannot mix those two families. Equity/option strategies must share the same underlying symbol. Each strategy is submitted as one brokerage order; unsupported strategies are never split into independent orders. Tastytrade supports single-leg outright futures and up to four future-option legs, and does not support multi-leg market orders.
All string choices use lower snake_case and are case-sensitive. Symbols retain their native format: equity tickers, OCC equity-option symbols, or the exact tastytrade BrokerageInstrument ticker for futures and future options, including any spaces.
A successful response contains only the brokerage order ID. Use the existing order endpoints to retrieve order details.
Request
- Base URLhttps://api.snaptrade.com
- URLhttps://api.snaptrade.com/accounts/{accountId}/trading/simple
- AuthAPI key in header Signature and API key in query parameter clientId and API key in query parameter timestamp
Path parameters
Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
The ID of the account to execute the trade on.
Query parameters
SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
SnapTrade User Secret. This is a randomly generated string and should be stored securely. If compromised, please rotate it via the rotate user secret endpoint.
Request body
Example request
{
"order_type": "stop_limit",
"time_in_force": "day",
"legs": [
{
"instrument": {
"kind": "future",
"symbol": "/ESZ6"
},
"action": "buy",
"units": "1.25"
}
],
"limit_price": "1.25",
"stop_price": "1.25",
"price_effect": "debit",
"client_order_id": "550e8400-e29b-41d4-a716-446655440000",
"expiry_date": "2026-12-18T20:00:00Z",
"notional_value": "1.25",
"trading_session": "regular"
}Response
Order placed
Example response
{
"brokerage_order_id": "123456"
}Changes
- breaking
the
response's property type changed fromstringto no type for status - breaking
the
response's property type changed fromstringto no type for status - breaking
the
response's property type changed fromstringto no type for status - breaking
the
response's property type changed fromstringto no type for status - breaking
the
response's property type changed fromstringto no type for status - breaking
the
response's property type changed fromstringto no type for status
- breaking
- breaking
the
response's property type changed from no type tostringfor status - breaking
the
response's property type changed from no type tostringfor status - breaking
the
response's property type changed from no type tostringfor status - breaking
the
response's property type changed from no type tostringfor status - breaking
the
response's property type changed from no type tostringfor status - breaking
the
response's property type changed from no type tostringfor status
- breaking