---
title: "List account orders v2"
method: GET
path: "/accounts/{accountId}/orders/v2"
tags: ["Experimental endpoints"]
---

# List account orders v2

`GET /accounts/{accountId}/orders/v2`

Returns a list of recent orders in the specified account.

The V2 order response format will include all legs of each order in the `legs` list field. If the order is single legged, `legs` will be a list of one leg.

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](/docs/fix-broken-connections) on how to fix a disabled connection.

## Path parameters

- `accountId` string, uuid, required — Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.

## Query parameters

- `userId` string, required — 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.
- `userSecret` string, required — 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](/reference/Authentication/Authentication_resetSnapTradeUserSecret).
- `state` 'all' | 'open' | 'executed'
- `days` integer

## Response `200`

OK

- AccountOrdersV2Response — Contains a standardized list of account orders in the V2 format.
  - `orders` AccountOrderRecordV2[], required — List of orders returned by the endpoint.
    - `brokerage_order_id` string — Order ID returned by brokerage. This is the unique identifier for the order in the brokerage system.
    - `brokerage_group_order_id` string, nullable — The brokerage-assigned identifier that links all orders within a complex order (OCO, OTO, OTOCO) together. Null for non-complex orders or when the brokerage does not return a group identifier.
    - `order_role` 'TRIGGER' | 'CONDITIONAL' | 'PEER' — The role of an order within a complex order group (OCO, OTO, OTOCO).
    - `status` 'NONE' | 'PENDING' | 'ACCEPTED' | 'FAILED' | 'REJECTED' | 'CANCELED' | 'PARTIAL_CANCELED' | 'CANCEL_PENDING' | 'EXECUTED' | 'PARTIAL' | 'REPLACE_PENDING' | 'REPLACED' | 'STOPPED' | 'SUSPENDED' | 'EXPIRED' | 'QUEUED' | 'TRIGGERED' | 'ACTIVATED' | 'PENDING_RISK_REVIEW' | 'CONTINGENT_ORDER' — Indicates the status of an order. SnapTrade does a best effort to map brokerage statuses to statuses in this enum. Possible values include: - NONE - PENDING - ACCEPTED - FAILED - REJECTED - CANCELED - PARTIAL_CANCELED - CANCEL_PENDING - EXECUTED - PARTIAL - REPLACE_PENDING - REPLACED - EXPIRED - QUEUED - TRIGGERED - ACTIVATED
    - `order_type` string, nullable — The type of order placed. - `MARKET` - `LIMIT` - `STOP` - `STOP_LIMIT`
    - `time_in_force` string — The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. We try our best to map brokerage time in force values to the following. When mapping fails, we will return the brokerage's time in force value. - `DAY` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely. - `IOC` - Immediate Or Cancel. The order must be executed immediately. Any portion of the order that cannot be filled immediately will be canceled. - `GTD` - Good Til Date. The order is valid until the specified date. - `MOO` - Market On Open. The order is to be executed at the day's opening price. - `EHP` - Extended Hours P.M. The order is to be placed during extended hour trading, after markets close.
    - `time_placed` string, date-time — The time the order was placed. This is the time the order was submitted to the brokerage.
    - `time_executed` string, date-time, nullable — The time the order was executed in the brokerage system. This value is not always available from the brokerage.
    - `price_currency` string — Price currency code for the order.
    - `price_effect` 'CREDIT' | 'DEBIT' | 'EVEN' | 'UNKNOWN', required — Direction of the net order price. CREDIT means cash is received, DEBIT means cash is paid, EVEN means the net price is zero, and UNKNOWN means the direction could not be determined.
    - `execution_price` string, decimal, nullable — The price at which the order was executed.
    - `limit_price` string, decimal, nullable — The limit price is maximum price one is willing to pay for a buy order or the minimum price one is willing to accept for a sell order. Should only apply to `Limit` and `StopLimit` orders.
    - `stop_price` string, decimal, nullable — The stop price is the price at which a stop order is triggered. Should only apply to `Stop` and `StopLimit` orders.
    - `trailing_stop` TrailingStop — Trail configuration for trailing stop orders.
      - `amount` string, required — The trail amount. Interpreted as dollars if `type` is `DOLLAR`, or a percentage if `type` is `PERCENT`.
      - `type` 'DOLLAR' | 'PERCENT', required — Whether the trail `amount` is a dollar amount (`DOLLAR`) or a percentage (`PERCENT`). For example, if `amount` is "0.60" and `type` is `DOLLAR`, the stop price will trail the market price by $0.60. If `amount` is "5" and `type` is `PERCENT`, the stop price will trail the market price by 5%.
    - `legs` AccountOrderRecordLeg[] — List of legs that make up the order.
      - `leg_id` string, nullable — Brokerage order identifier for this leg, if available.
      - `instrument` AccountOrderRecordLegInstrument — Instrument metadata for an order leg.
        - `symbol` string — The symbol or ticker for the security.
        - `description` string — Human-readable description of the security.
        - `asset_type` string — Type of instrument for the leg. - EQUITY - OPTION - CRYPTO
        - `exchange_mic_code` string — Market Identifier Code (MIC) for the exchange on which the instrument trades. Omitted for instruments with no listing exchange, such as index options (VIX, SPX).
        - `figi_code` string, nullable — Financial Instrument Global Identifier (FIGI) if available.
      - `action` string — The action describes the intent or side of a trade. - BUY - SELL - BUY_COVER - SELL_SHORT - BUY_TO_OPEN - BUY_TO_CLOSE - SELL_TO_OPEN - SELL_TO_CLOSE
      - `execution_price` string, decimal, nullable — Execution price for this leg, if available.
      - `total_quantity` string, nullable — The total number of shares or contracts associated with this leg. Can be a decimal number for fractional shares.
      - `canceled_quantity` string, nullable — The number of shares or contracts that have been canceled for this leg.
      - `filled_quantity` string, nullable — The number of shares or contracts that have been filled for this leg.
      - `status` 'PENDING' | 'REJECTED' | 'CANCELED' | 'CANCEL_PENDING' | 'PARTIAL_CANCELED' | 'EXECUTED' | 'PARTIALLY_EXECUTED' | 'REPLACED' | 'REPLACE_PENDING' | 'EXPIRED' — Indicates the status of an order. SnapTrade does a best effort to map brokerage statuses to statuses in this enum.

## Other responses

- `500` — Unexpected error
- `503` — Service Unavailable - the brokerage connection is busy syncing (sync lock held) or the brokerage API is temporarily unavailable. Safe to retry.

---

[API](https://skmtc.net/passiv/apis/snaptrade.md) · [All operations](https://skmtc.net/passiv/apis/snaptrade/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/passiv/snaptrade/revisions/259274f1e845/schema)
