List all account orders
Changed onReturns a list of recent orders in the specified account, in the same kind-discriminated format as /accounts/{accountId}/positions/all.
Every order carries a legs list with at least one leg. Each leg's instrument uses the same Instrument union as positions; switch on instrument.kind to know which fields are present. Multi-leg orders (spreads, strangles, covered calls) are a single order with multiple legs. Orders that belong to a complex order group (OCO, OTO, OTOCO) share a group.id.
order_type is an object discriminated by kind. Each kind declares the price fields it requires (limit_price on limit, stop_price on stop, both on stop_limit, trail on trailing_stop), so a consumer never has to null-check a price that cannot exist for that kind. When the brokerage reports an order type we cannot normalize, kind is other and the brokerage's own label is in raw_type.
Experimental: this endpoint may change without notice.
If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see this guide on how to fix a disabled connection.
Request
- Base URLhttps://api.snaptrade.com
- URLhttps://api.snaptrade.com/accounts/{accountId}/orders/all
- 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.
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.
defaults to "all"
Number of days in the past to fetch the most recent orders. Defaults to the last 30 days if no value is passed in. Values greater than 90 will be capped at 90.
Response
OK
Example response
{
"results": [
{
"brokerage_order_id": "66a033fa-da74-4fcf-b527-feefdec9257e",
"order_type": {
"kind": "market"
},
"time_in_force": "DAY",
"expiry_date": "2026-07-30T22:51:49Z",
"price_currency": "USD",
"total_quantity": "10",
"filled_quantity": "9",
"canceled_quantity": "1",
"open_quantity": "0",
"execution_price": "12.34",
"time_placed": "2026-07-30T22:51:49Z",
"time_updated": "2026-07-30T22:52:10Z",
"time_executed": "2026-08-05T00:05:57Z",
"group": {
"id": "1234567890",
"role": "TRIGGER"
},
"legs": [
{
"instrument": {
"kind": "stock",
"id": "1ef3a5d3-4a9b-40b2-b8d1-cc35f74d6324",
"symbol": "AAPL",
"raw_symbol": "AAPL",
"description": "Apple Inc.",
"currency": "USD",
"exchange": "XNAS",
"figi_instrument": {
"figi_code": "BBG000B9Y5X2",
"figi_share_class": "BBG001S5N8V8"
}
},
"total_quantity": "10",
"filled_quantity": "9",
"canceled_quantity": "1",
"execution_price": "12.34"
}
]
}
],
"data_freshness": {
"as_of": "2026-06-02T14:30:00Z"
}
}Changes
- info
endpoint added
- info