---
title: "List all account positions"
method: GET
path: "/accounts/{accountId}/positions/all"
tags: ["Account Information"]
---

# List all account positions

`GET /accounts/{accountId}/positions/all`

Returns a list of all positions in the specified account.

The `results` list can contain multiple instrument types in the same response, including stocks, ADRs, ETFs, mutual funds, closed-end funds, crypto, futures, option positions, and CFD positions. Use the `instrument.kind` discriminator to determine the schema for each position's `instrument`.

`mutualfund` positions may also include `cash_equivalent`. `stock`, `etf`, and `mutualfund` positions may include `tax_lots` when tax lot data is enabled for the account.

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).

## Response `200`

OK

- AllAccountPositionsResponse — Information about all account positions.
  - `results` AccountPosition[], required — Positions returned for the request.
    - `instrument` union, required — Instrument metadata for a V2 position. Use `kind` to determine which schema is present.
      - StockInstrument — Security instrument metadata for stock positions.
        - `kind` 'stock', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the instrument.
        - `symbol` string, required — The formatted trading symbol for the security.
        - `raw_symbol` string, required — The raw symbol without any exchange suffix.
        - `description` string, nullable — Human-readable description of the security.
        - `currency` string, nullable — ISO-4217 currency code for the security listing.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
        - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
          - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
          - `figi_share_class` string, nullable — This enables users to link multiple FIGIs for the same security in order to obtain an aggregated view across all countries and all exchanges. For example, `AAPL` has a different FIGI for each exchange/trading venue it is traded on. The `figi_share_class` is the same for all of these FIGIs. See section 1.4.3 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - OptionInstrument — Option instrument metadata for a V2 position.
        - `kind` 'option', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the option instrument.
        - `symbol` string, required — OCC symbol for the option contract.
        - `option_type` 'CALL' | 'PUT', required — Whether the contract is a call or put.
        - `strike_price` string, decimal, required — Strike price for the option contract.
        - `expiration_date` string, date, required — Expiration date of the option contract.
        - `multiplier` string, decimal, required — Number of underlying shares per contract. Standard options are 100, mini options are 10.
        - `description` string, nullable — Human-readable description of the option contract.
        - `underlying` union, required — The underlying instrument for an option.
          - StockInstrument — Security instrument metadata for stock positions.
            - `kind` 'stock', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - CryptoInstrument — Security instrument metadata for crypto positions.
            - `kind` 'crypto', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - EtfInstrument — Security instrument metadata for ETF positions.
            - `kind` 'etf', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - MutualFundInstrument — Security instrument metadata for mutual fund positions.
            - `kind` 'mutualfund', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - CefInstrument — Security instrument metadata for closed-end fund positions.
            - `kind` 'cef', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - AdrInstrument — Security instrument metadata for ADR positions.
            - `kind` 'adr', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - OtherInstrument — Security instrument metadata for other mapped security positions.
            - `kind` 'other', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
      - CryptoInstrument — Security instrument metadata for crypto positions.
        - `kind` 'crypto', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the instrument.
        - `symbol` string, required — The formatted trading symbol for the security.
        - `raw_symbol` string, required — The raw symbol without any exchange suffix.
        - `description` string, nullable — Human-readable description of the security.
        - `currency` string, nullable — ISO-4217 currency code for the security listing.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
        - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
          - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
          - `figi_share_class` string, nullable — This enables users to link multiple FIGIs for the same security in order to obtain an aggregated view across all countries and all exchanges. For example, `AAPL` has a different FIGI for each exchange/trading venue it is traded on. The `figi_share_class` is the same for all of these FIGIs. See section 1.4.3 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - FutureInstrument — Future instrument metadata for a V2 position.
        - `kind` 'future', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the future instrument.
        - `symbol` string, required — Display symbol for the future contract.
        - `root_symbol` string, required — Root symbol for the future contract.
        - `expiration_code` string, required — Exchange expiration code for the contract.
        - `expiration_date` string, date, nullable — Expiration date of the contract.
        - `multiplier` string, decimal, nullable — Multiplier for the future contract.
        - `currency` string, nullable — ISO-4217 currency code for the contract.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the contract.
      - EtfInstrument — Security instrument metadata for ETF positions.
        - `kind` 'etf', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the instrument.
        - `symbol` string, required — The formatted trading symbol for the security.
        - `raw_symbol` string, required — The raw symbol without any exchange suffix.
        - `description` string, nullable — Human-readable description of the security.
        - `currency` string, nullable — ISO-4217 currency code for the security listing.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
        - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
          - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
          - `figi_share_class` string, nullable — This enables users to link multiple FIGIs for the same security in order to obtain an aggregated view across all countries and all exchanges. For example, `AAPL` has a different FIGI for each exchange/trading venue it is traded on. The `figi_share_class` is the same for all of these FIGIs. See section 1.4.3 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - MutualFundInstrument — Security instrument metadata for mutual fund positions.
        - `kind` 'mutualfund', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the instrument.
        - `symbol` string, required — The formatted trading symbol for the security.
        - `raw_symbol` string, required — The raw symbol without any exchange suffix.
        - `description` string, nullable — Human-readable description of the security.
        - `currency` string, nullable — ISO-4217 currency code for the security listing.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
        - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
          - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
          - `figi_share_class` string, nullable — This enables users to link multiple FIGIs for the same security in order to obtain an aggregated view across all countries and all exchanges. For example, `AAPL` has a different FIGI for each exchange/trading venue it is traded on. The `figi_share_class` is the same for all of these FIGIs. See section 1.4.3 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - CefInstrument — Security instrument metadata for closed-end fund positions.
        - `kind` 'cef', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the instrument.
        - `symbol` string, required — The formatted trading symbol for the security.
        - `raw_symbol` string, required — The raw symbol without any exchange suffix.
        - `description` string, nullable — Human-readable description of the security.
        - `currency` string, nullable — ISO-4217 currency code for the security listing.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
        - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
          - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
          - `figi_share_class` string, nullable — This enables users to link multiple FIGIs for the same security in order to obtain an aggregated view across all countries and all exchanges. For example, `AAPL` has a different FIGI for each exchange/trading venue it is traded on. The `figi_share_class` is the same for all of these FIGIs. See section 1.4.3 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - AdrInstrument — Security instrument metadata for ADR positions.
        - `kind` 'adr', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the instrument.
        - `symbol` string, required — The formatted trading symbol for the security.
        - `raw_symbol` string, required — The raw symbol without any exchange suffix.
        - `description` string, nullable — Human-readable description of the security.
        - `currency` string, nullable — ISO-4217 currency code for the security listing.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
        - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
          - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
          - `figi_share_class` string, nullable — This enables users to link multiple FIGIs for the same security in order to obtain an aggregated view across all countries and all exchanges. For example, `AAPL` has a different FIGI for each exchange/trading venue it is traded on. The `figi_share_class` is the same for all of these FIGIs. See section 1.4.3 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
      - CfdInstrument — Canonical CFD wrapper instrument metadata for a V2 position.
        - `kind` 'cfd', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the canonical CFD instrument wrapper.
        - `symbol` string, required — Formatted symbol of the instrument underlying the CFD wrapper.
        - `raw_symbol` string, required — Raw symbol of the instrument underlying the CFD wrapper.
        - `description` string, nullable — Human-readable description of the instrument underlying the CFD wrapper.
        - `currency` string, nullable — ISO-4217 currency code for the instrument underlying the CFD wrapper.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the instrument underlying the CFD wrapper.
        - `underlying_instrument` union, required — The underlying instrument referenced by a CFD contract.
          - StockInstrument — Security instrument metadata for stock positions.
            - `kind` 'stock', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - CryptoInstrument — Security instrument metadata for crypto positions.
            - `kind` 'crypto', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - EtfInstrument — Security instrument metadata for ETF positions.
            - `kind` 'etf', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - MutualFundInstrument — Security instrument metadata for mutual fund positions.
            - `kind` 'mutualfund', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - CefInstrument — Security instrument metadata for closed-end fund positions.
            - `kind` 'cef', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - AdrInstrument — Security instrument metadata for ADR positions.
            - `kind` 'adr', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
          - OtherInstrument — Security instrument metadata for other mapped security positions.
            - `kind` 'other', required — Type of security instrument.
            - `id` string, uuid, required — Unique identifier for the instrument.
            - `symbol` string, required — The formatted trading symbol for the security.
            - `raw_symbol` string, required — The raw symbol without any exchange suffix.
            - `description` string, nullable — Human-readable description of the security.
            - `currency` string, nullable — ISO-4217 currency code for the security listing.
            - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
            - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
              - …
      - OtherInstrument — Security instrument metadata for other mapped security positions.
        - `kind` 'other', required — Type of security instrument.
        - `id` string, uuid, required — Unique identifier for the instrument.
        - `symbol` string, required — The formatted trading symbol for the security.
        - `raw_symbol` string, required — The raw symbol without any exchange suffix.
        - `description` string, nullable — Human-readable description of the security.
        - `currency` string, nullable — ISO-4217 currency code for the security listing.
        - `exchange` string, nullable — Exchange MIC code or exchange code for the security.
        - `figi_instrument` FigiInstrument — Financial Instrument Global Identifier (FIGI) information for the security. See [OpenFIGI](https://www.openfigi.com/) for more information.
          - `figi_code` string, nullable — This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
          - `figi_share_class` string, nullable — This enables users to link multiple FIGIs for the same security in order to obtain an aggregated view across all countries and all exchanges. For example, `AAPL` has a different FIGI for each exchange/trading venue it is traded on. The `figi_share_class` is the same for all of these FIGIs. See section 1.4.3 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information.
    - `units` string, decimal, nullable — The number of units held in the position. Positive numbers indicate long positions and negative numbers indicate short positions.
    - `price` string, decimal, nullable — Last known market price _per share_. The freshness of this price depends on the brokerage. Some brokerages provide real-time prices, while others provide delayed prices. It is recommended that you rely on your own third-party market data provider for most up to date prices.
    - `cost_basis` string, decimal, nullable — Book price or average purchase price for the position. For options, this is per-share.
    - `currency` string, nullable — ISO-4217 currency code for the position `price` and `cost_basis`.
    - `cash_equivalent` boolean — Present for mutual fund positions that are also counted in cash balance or buying power.
    - `tax_lots` TaxLot[] — List of tax lots for the given position (disabled by default, only available on paid plans, contact support if needed)
      - `original_purchase_date` string, date-time, nullable — The date and time of the purchase.
      - `quantity` string, nullable — The number of shares in the tax lot. This can be fractional or integer units.
      - `purchased_price` string, nullable — The purchase price per share for the tax lot.
      - `cost_basis` string, nullable — The cost basis of the entire lot.
      - `current_value` string, nullable — The current market value of the entire lot.
      - `position_type` string, nullable — The type of position for the tax lot (e.g., LONG, SHORT).
      - `lot_id` string, nullable — The unique id for this specific tax lot
  - `data_freshness` object, required — Metadata describing freshness of the returned positions data.
    - `as_of` string, date-time, required — The time the returned positions data was fetched from the brokerage.

## Other responses

- `503` — Service Unavailable - the brokerage connection is busy syncing (sync lock held) or the brokerage API is temporarily unavailable, and no cached fallback was available. Safe to retry.
- `default` — Unexpected error

---

[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/993e058b557e/schema)
