---
title: "List account holdings"
method: GET
path: "/accounts/{accountId}/holdings"
tags: ["Account Information"]
deprecated: true
---

# List account holdings

`GET /accounts/{accountId}/holdings`

> **Deprecated.**

**Deprecated.** Use the finer-grained account data endpoints instead: [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getAllAccountPositions), and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders).

This endpoint will return HTTP 410 Gone for all customers that sign up after May 11, 2026.

Returns a list of balances, positions, and recent orders for the specified account.

Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see if you have real-time data access:
  - If you do, this endpoint returns real-time data.
  - If you don't, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.

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

- AccountHoldingsAccount — A wrapper object containing holdings information for a single account.
  - `account` Account — A single account at a brokerage.
    - `id` string, uuid, required — Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
    - `brokerage_authorization` string, uuid, required — Unique identifier for the connection (brokerage_authorization_id). This is the UUID used to reference the connection in SnapTrade.
    - `name` string, nullable, required — A display name for the account. Either assigned by the user or by the brokerage itself. For certain brokerages, SnapTrade appends the brokerage name to the account name for clarity.
    - `number` string, required — The account number assigned by the brokerage. For some brokerages, this field may be masked for security reasons.
    - `institution_account_id` string, nullable — A stable and unique account identifier provided by the institution. Will be set to null if not provided. When present, can be used to check if a user has connected the same brokerage account across multiple connections.
    - `institution_name` string, required — The name of the brokerage that holds the account.
    - `created_date` string, date-time, required — Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format indicating when the account was created in SnapTrade. This is _not_ the account opening date at the brokerage.
    - `funding_date` string, date-time, nullable — Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format indicating when the account was funded.
    - `opening_date` string, date-time, nullable — Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format indicating when the account was opened at the brokerage.
    - `sync_status` AccountSyncStatus, required — Contains status update for the account sync process between SnapTrade and the brokerage.
      - `transactions` TransactionsStatus — Status of account transaction sync. SnapTrade syncs transactions from the brokerage under the following conditions: 1. Initial connection - SnapTrade syncs all transactions from the brokerage account as far back as the brokerage allows. Check [our integrations doc](https://support.snaptrade.com/brokerages-table?v=6fab8012ade6441fa0c6d9af9c55ce3a) for details on how far back we sync for each brokerage. 2. Daily sync - Once a day SnapTrade syncs new transactions from the brokerage. 3. Manual sync - You can trigger an incremental sync of transactions with the [transactions sync](/reference/Experimental%20endpoints/Connections_syncBrokerageAuthorizationTransactions) endpoint.
        - `initial_sync_completed` boolean — Indicates if the initial sync of transactions has been completed. For accounts with a large number of transactions, the initial sync may take a while to complete.
        - `last_successful_sync` string, date, nullable — Date in YYYY-MM-DD format or null
        - `first_transaction_date` string, date, nullable — Date in YYYY-MM-DD format or null
      - `holdings` HoldingsStatus — Status of account holdings sync. SnapTrade syncs holdings from the brokerage under the following conditions: 1. Initial connection - SnapTrade syncs all holdings (positions, balances, recent orders, and transactions) immediately after the connection is established. 2. Daily sync - Once a day SnapTrade refreshes all holdings from the brokerage. 3. Manual sync - You can trigger a refresh of holdings with the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
        - `initial_sync_completed` boolean — Indicates if the initial sync of holdings has been completed. For accounts with a large number of positions/orders/transactions, the initial sync may take a while to complete.
        - `last_successful_sync` string, date-time, nullable — Date in ISO 8601 format or null (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
        - `holdings_unavailable` boolean — Indicates that the brokerage does not expose this account's holdings to SnapTrade, so the empty positions and balances reported for it do not mean the account is empty. This is set for accounts served by a separate brokerage system that we cannot read, such as Vanguard employer-sponsored retirement plans. When this is `true`, prefer the account's total value over the sum of its positions and cash, and note that `initial_sync_completed` and `last_successful_sync` may still reflect an earlier sync.
    - `balance` AccountBalance, required — Contains balance related information for the account.
      - `total` object, nullable — Total market value of this account (includes cash, equity, fixed income, etc). This value is directly obtained from the brokerage and should reflect the most accurate value of the account.
        - `amount` number — Total value denominated in the currency of the `currency` field.
        - `currency` string — The ISO-4217 currency code for the amount.
    - `status` 'open' | 'closed' | 'archived' | 'unavailable', nullable — The current status of the account. Can be either "open", "closed", "archived" or null if the status is unknown or not provided by the brokerage.
    - `raw_type` string, nullable — The account type as provided by the brokerage
    - `account_category` 'INVESTMENT' | 'DEPOSIT' | 'LOC', nullable — The category of the account, normalized across institutions. Returns `null` if the category could not be determined. Use this field to filter out non-investment accounts if your integration only supports trading / holdings flows. See [Filtering Accounts by Category](https://docs.snaptrade.com/docs/filtering-accounts-by-category) for more information. - `INVESTMENT`: A brokerage / investment account (equities, options, crypto, etc.). - `DEPOSIT`: A bank deposit account (checking, savings). - `LOC`: A line of credit account.
    - `meta` object — Additional information about the account, such as account type, status, etc. This information is specific to the brokerage and there's no standard format for this data. This field is deprecated and subject to removal in a future version.
    - `portfolio_group` string, uuid, nullable — Portfolio Group ID. Portfolio Groups have been deprecated. Please contact support if you have a use case for it.
    - `cash_restrictions` string[] — This field is deprecated.
    - `is_paper` boolean, required — Indicates whether the account is a paper (simulated) trading account.
  - `balances` Balance[], nullable — List of balances for the account. Each element of the list has a distinct currency. Some brokerages like Questrade [allows holding multiple currencies in the same account](https://www.questrade.com/learning/questrade-basics/balances-and-reports/understanding-your-account-balances).
    - `currency` Currency — Describes a currency object.
      - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
      - `code` string — The ISO-4217 currency code for the currency.
      - `name` string — A human-friendly name of the currency.
    - `cash` number, nullable — The amount of available cash in the account denominated in the currency of the `currency` field. This value can be negative in a margin account with a margin balance. Money market funds will be included in this field, and also returned in positions endpoints with `cash_equivalent` = true
    - `buying_power` number, nullable — Buying power only applies to margin accounts. For non-margin accounts, buying power should be the same as cash. Please note that this field is not always available for all brokerages.
  - `positions` Position[], nullable — List of stock/ETF/crypto/mutual fund positions in the account.
    - `symbol` PositionSymbol — Uniquely describes a security for the position within an account. The distinction between this and the `symbol` child property is that this object is specific to a position within an account, while the `symbol` child property is universal across all brokerage accounts. The caller should rely on the `symbol` child property for most use cases.
      - `symbol` UniversalSymbol — Uniquely describes a single security + exchange combination across all brokerages.
        - `id` string, uuid, required — Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
        - `symbol` string, required — The security's trading ticker symbol. For example "AAPL" for Apple Inc. We largely follow the [Yahoo Finance ticker format](https://help.yahoo.com/kb/SLN2310.html)(click on "Yahoo Finance Market Coverage and Data Delays"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix.
        - `raw_symbol` string, required — The raw symbol is `symbol` with the exchange suffix removed. For example, if `symbol` is "VAB.TO", then `raw_symbol` is "VAB".
        - `description` string, nullable — A human-readable description of the security. This is usually the company name or ETF name.
        - `currency` Currency, required — Describes a currency object.
          - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
          - `code` string — The ISO-4217 currency code for the currency.
          - `name` string — A human-friendly name of the currency.
        - `exchange` Exchange — Describes a single stock or crypto exchange.
          - `id` string, uuid — Unique ID for the exchange in SnapTrade.
          - `code` string — A short name for the exchange. For standardized exchange code, please use the `mic_code` field.
          - `mic_code` string, nullable — The [Market Identifier Code](https://en.wikipedia.org/wiki/Market_Identifier_Code) (MIC) for the exchange.
          - `name` string — The full name of the exchange.
          - `timezone` string — The timezone for the trading hours (`start_time` and `close_time`) of the exchange.
          - `start_time` string — The time when the exchange opens for trading.
          - `close_time` string — The time when the exchange closes for trading.
          - `suffix` string, nullable — The suffix to be appended to the symbol when trading on this exchange. For example, the suffix for the Toronto Stock Exchange is `.TO`. See `UniversalSymbol->symbol` and `UniversalSymbol->raw_symbol` for more detail.
        - `type` SecurityType, required — The type of security. For example, "Common Stock" or "ETF".
          - `id` string, uuid — Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
          - `code` string — A short code representing the security type. For example, "cs" for Common Stock. Here are some common values: - `ad` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `pm` - Precious Metals - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - Warrant
          - `description` string — A human-readable description of the security type. For example, "Common Stock" or "ETF".
          - `is_supported` boolean — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
        - `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. This value should be the same as the `figi_code` in the `figi_instrument` child property.
        - `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.
        - `currencies` Currency[], required — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
          - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
          - `code` string — The ISO-4217 currency code for the currency.
          - `name` string — A human-friendly name of the currency.
      - `id` string, uuid — A unique ID for the security within SnapTrade, scoped to the brokerage account that the security belongs to. This is a legacy field and should not be used. Do not rely on this being a stable ID as it can change.
      - `description` string — This field is deprecated and the caller should use the `symbol` child property's `description` instead.
      - `local_id` string, nullable — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
      - `is_quotable` boolean — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
      - `is_tradable` boolean — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
    - `units` number, nullable — The number of shares of the position. This can be fractional or integer units. A positive number indicates a long position, while a negative number indicates a short position.
    - `price` number, nullable — Last known market price for the symbol. 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.
    - `open_pnl` number, nullable — The profit or loss on the position since it was opened. This is calculated as the difference between the current market value of the position and the total cost of the position. It is recommended to calculate this value using the average purchase price and the current market price yourself, instead of relying on this field.
    - `average_purchase_price` number, nullable — Cost basis _per share_ of this position.
    - `fractional_units` number, nullable — Deprecated, use the `units` field for both fractional and integer units going forward
    - `currency` Currency — Describes a currency object.
      - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
      - `code` string — The ISO-4217 currency code for the currency.
      - `name` string — A human-friendly name of the currency.
    - `cash_equivalent` boolean, nullable — If the position is a cash equivalent (usually a money market fund) that is also counted in account cash balance and 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
  - `option_positions` OptionsPosition[], nullable — List of option positions in the account.
    - `symbol` OptionBrokerageSymbol — Uniquely describes a security for the option position within an account. The distinction between this and the `option_symbol` child property is that this object is specific to a position within an account, while the `option_symbol` child property is universal across all brokerage accounts. The caller should rely on the `option_symbol` child property for most use cases.
      - `option_symbol` OptionsSymbol — Uniquely describes an option security + exchange combination across all brokerages.
        - `id` string, uuid, required — Unique identifier for the option symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
        - `ticker` string, required — The [OCC symbol](https://en.wikipedia.org/wiki/Option_symbol) for the option.
        - `option_type` 'CALL' | 'PUT', required — The type of option. Either "CALL" or "PUT".
        - `strike_price` number, required — The option strike price.
        - `expiration_date` string, date, required — The option expiration date.
        - `is_mini_option` boolean — Whether the option is a mini option. Mini options have 10 underlying shares per contract instead of the standard 100.
        - `underlying_symbol` UnderlyingSymbol, required — Symbol object for the underlying security of an option.
          - `id` string, uuid — Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
          - `symbol` string — The security's trading ticker symbol. For example "AAPL" for Apple Inc. We largely follow the [Yahoo Finance ticker format](https://help.yahoo.com/kb/SLN2310.html)(click on "Yahoo Finance Market Coverage and Data Delays"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix.
          - `raw_symbol` string — The raw symbol is `symbol` with the exchange suffix removed. For example, if `symbol` is "VAB.TO", then `raw_symbol` is "VAB".
          - `description` string, nullable — A human-readable description of the security. This is usually the company name or ETF name.
          - `currency` Currency — Describes a currency object.
            - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
            - `code` string — The ISO-4217 currency code for the currency.
            - `name` string — A human-friendly name of the currency.
          - `exchange` USExchange — US Stock Exchange
            - `id` string, uuid
            - `code` string
            - `mic_code` string, nullable
            - `name` string
            - `timezone` string
            - `start_time` string
            - `close_time` string
            - `suffix` string, nullable
            - `allows_cryptocurrency_symbols` boolean
          - `type` SecurityType — The type of security. For example, "Common Stock" or "ETF".
            - `id` string, uuid — Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
            - `code` string — A short code representing the security type. For example, "cs" for Common Stock. Here are some common values: - `ad` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `pm` - Precious Metals - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - Warrant
            - `description` string — A human-readable description of the security type. For example, "Common Stock" or "ETF".
            - `is_supported` boolean — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
          - `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. This value should be the same as the `figi_code` in the `figi_instrument` child property.
          - `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.
          - `currencies` Currency[] — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
            - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
            - `code` string — The ISO-4217 currency code for the currency.
            - `name` string — A human-friendly name of the currency.
      - `id` string, uuid — A unique ID for the security within SnapTrade, scoped to the brokerage account that the security belongs to. This is a legacy field and should not be used. Do not rely on this being a stable ID as it can change.
      - `description` string — This field is deprecated and the caller should use the `option_symbol` child property's `description` instead.
    - `price` number, nullable — Last known market price _per share_ of the option contract. 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.
    - `units` number — The number of contracts for this option position. A positive number indicates a long position, while a negative number indicates a short position.
    - `average_purchase_price` number, nullable — Cost basis _per contract_ of this option position. To get the cost basis _per share_, divide this value by the number of shares per contract (usually 100).
    - `currency` Currency — Describes a currency object.
      - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
      - `code` string — The ISO-4217 currency code for the currency.
      - `name` string — A human-friendly name of the currency.
  - `orders` AccountOrderRecord[], nullable — List of recent orders in the account, including both pending and executed orders. Note that option orders are included in this list. Option orders will have a null `universal_symbol` field and a non-null `option_symbol` field.
    - `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', nullable — The role of this order within a complex order group (OCO, OTO, OTOCO). Null for non-complex orders.
    - `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
    - `universal_symbol` UniversalSymbol — Uniquely describes a single security + exchange combination across all brokerages.
      - `id` string, uuid, required — Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
      - `symbol` string, required — The security's trading ticker symbol. For example "AAPL" for Apple Inc. We largely follow the [Yahoo Finance ticker format](https://help.yahoo.com/kb/SLN2310.html)(click on "Yahoo Finance Market Coverage and Data Delays"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix.
      - `raw_symbol` string, required — The raw symbol is `symbol` with the exchange suffix removed. For example, if `symbol` is "VAB.TO", then `raw_symbol` is "VAB".
      - `description` string, nullable — A human-readable description of the security. This is usually the company name or ETF name.
      - `currency` Currency, required — Describes a currency object.
        - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
        - `code` string — The ISO-4217 currency code for the currency.
        - `name` string — A human-friendly name of the currency.
      - `exchange` Exchange — Describes a single stock or crypto exchange.
        - `id` string, uuid — Unique ID for the exchange in SnapTrade.
        - `code` string — A short name for the exchange. For standardized exchange code, please use the `mic_code` field.
        - `mic_code` string, nullable — The [Market Identifier Code](https://en.wikipedia.org/wiki/Market_Identifier_Code) (MIC) for the exchange.
        - `name` string — The full name of the exchange.
        - `timezone` string — The timezone for the trading hours (`start_time` and `close_time`) of the exchange.
        - `start_time` string — The time when the exchange opens for trading.
        - `close_time` string — The time when the exchange closes for trading.
        - `suffix` string, nullable — The suffix to be appended to the symbol when trading on this exchange. For example, the suffix for the Toronto Stock Exchange is `.TO`. See `UniversalSymbol->symbol` and `UniversalSymbol->raw_symbol` for more detail.
      - `type` SecurityType, required — The type of security. For example, "Common Stock" or "ETF".
        - `id` string, uuid — Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
        - `code` string — A short code representing the security type. For example, "cs" for Common Stock. Here are some common values: - `ad` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `pm` - Precious Metals - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - Warrant
        - `description` string — A human-readable description of the security type. For example, "Common Stock" or "ETF".
        - `is_supported` boolean — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
      - `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. This value should be the same as the `figi_code` in the `figi_instrument` child property.
      - `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.
      - `currencies` Currency[], required — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
        - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
        - `code` string — The ISO-4217 currency code for the currency.
        - `name` string — A human-friendly name of the currency.
    - `option_symbol` OptionsSymbol — Uniquely describes an option security + exchange combination across all brokerages.
      - `id` string, uuid, required — Unique identifier for the option symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
      - `ticker` string, required — The [OCC symbol](https://en.wikipedia.org/wiki/Option_symbol) for the option.
      - `option_type` 'CALL' | 'PUT', required — The type of option. Either "CALL" or "PUT".
      - `strike_price` number, required — The option strike price.
      - `expiration_date` string, date, required — The option expiration date.
      - `is_mini_option` boolean — Whether the option is a mini option. Mini options have 10 underlying shares per contract instead of the standard 100.
      - `underlying_symbol` UnderlyingSymbol, required — Symbol object for the underlying security of an option.
        - `id` string, uuid — Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
        - `symbol` string — The security's trading ticker symbol. For example "AAPL" for Apple Inc. We largely follow the [Yahoo Finance ticker format](https://help.yahoo.com/kb/SLN2310.html)(click on "Yahoo Finance Market Coverage and Data Delays"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix.
        - `raw_symbol` string — The raw symbol is `symbol` with the exchange suffix removed. For example, if `symbol` is "VAB.TO", then `raw_symbol` is "VAB".
        - `description` string, nullable — A human-readable description of the security. This is usually the company name or ETF name.
        - `currency` Currency — Describes a currency object.
          - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
          - `code` string — The ISO-4217 currency code for the currency.
          - `name` string — A human-friendly name of the currency.
        - `exchange` USExchange — US Stock Exchange
          - `id` string, uuid
          - `code` string
          - `mic_code` string, nullable
          - `name` string
          - `timezone` string
          - `start_time` string
          - `close_time` string
          - `suffix` string, nullable
          - `allows_cryptocurrency_symbols` boolean
        - `type` SecurityType — The type of security. For example, "Common Stock" or "ETF".
          - `id` string, uuid — Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
          - `code` string — A short code representing the security type. For example, "cs" for Common Stock. Here are some common values: - `ad` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `pm` - Precious Metals - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - Warrant
          - `description` string — A human-readable description of the security type. For example, "Common Stock" or "ETF".
          - `is_supported` boolean — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
        - `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. This value should be the same as the `figi_code` in the `figi_instrument` child property.
        - `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.
        - `currencies` Currency[] — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
          - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
          - `code` string — The ISO-4217 currency code for the currency.
          - `name` string — A human-friendly name of the currency.
    - `quote_universal_symbol` UniversalSymbol — Uniquely describes a single security + exchange combination across all brokerages.
      - `id` string, uuid, required — Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
      - `symbol` string, required — The security's trading ticker symbol. For example "AAPL" for Apple Inc. We largely follow the [Yahoo Finance ticker format](https://help.yahoo.com/kb/SLN2310.html)(click on "Yahoo Finance Market Coverage and Data Delays"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix.
      - `raw_symbol` string, required — The raw symbol is `symbol` with the exchange suffix removed. For example, if `symbol` is "VAB.TO", then `raw_symbol` is "VAB".
      - `description` string, nullable — A human-readable description of the security. This is usually the company name or ETF name.
      - `currency` Currency, required — Describes a currency object.
        - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
        - `code` string — The ISO-4217 currency code for the currency.
        - `name` string — A human-friendly name of the currency.
      - `exchange` Exchange — Describes a single stock or crypto exchange.
        - `id` string, uuid — Unique ID for the exchange in SnapTrade.
        - `code` string — A short name for the exchange. For standardized exchange code, please use the `mic_code` field.
        - `mic_code` string, nullable — The [Market Identifier Code](https://en.wikipedia.org/wiki/Market_Identifier_Code) (MIC) for the exchange.
        - `name` string — The full name of the exchange.
        - `timezone` string — The timezone for the trading hours (`start_time` and `close_time`) of the exchange.
        - `start_time` string — The time when the exchange opens for trading.
        - `close_time` string — The time when the exchange closes for trading.
        - `suffix` string, nullable — The suffix to be appended to the symbol when trading on this exchange. For example, the suffix for the Toronto Stock Exchange is `.TO`. See `UniversalSymbol->symbol` and `UniversalSymbol->raw_symbol` for more detail.
      - `type` SecurityType, required — The type of security. For example, "Common Stock" or "ETF".
        - `id` string, uuid — Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
        - `code` string — A short code representing the security type. For example, "cs" for Common Stock. Here are some common values: - `ad` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `pm` - Precious Metals - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - Warrant
        - `description` string — A human-readable description of the security type. For example, "Common Stock" or "ETF".
        - `is_supported` boolean — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
      - `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. This value should be the same as the `figi_code` in the `figi_instrument` child property.
      - `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.
      - `currencies` Currency[], required — This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid use case for this.
        - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
        - `code` string — The ISO-4217 currency code for the currency.
        - `name` string — A human-friendly name of the currency.
    - `quote_currency` Currency — Describes a currency object.
      - `id` string, uuid — Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
      - `code` string — The ISO-4217 currency code for the currency.
      - `name` string — A human-friendly name of the currency.
    - `action` string — The action describes the intent or side of a trade. This is usually `BUY` or `SELL` but can include other potential values like the following depending on the specific brokerage. - BUY - SELL - BUY_COVER - SELL_SHORT - BUY_OPEN - BUY_CLOSE - SELL_OPEN - SELL_CLOSE
    - `total_quantity` string, nullable — The total number of shares or contracts of the order. This should be the sum of the filled, canceled, and open quantities. Can be a decimal number for fractional shares.
    - `open_quantity` string, nullable — The number of shares or contracts that are still open (waiting for execution). Can be a decimal number for fractional shares.
    - `canceled_quantity` string, nullable — The number of shares or contracts that have been canceled. Can be a decimal number for fractional shares.
    - `filled_quantity` string, nullable — The number of shares or contracts that have been filled. Can be a decimal number for fractional shares.
    - `execution_price` string, decimal, nullable — The price at which the order was executed. For option orders, this represents the price per share.
    - `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. For option orders, this represents the price per share.
    - `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. For option orders, this represents the price per share.
    - `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%.
    - `order_type` string, nullable — The type of order placed. The most common values are `Market`, `Limit`, `Stop`, and `StopLimit`. We try our best to map brokerage order types to these values. When mapping fails, we will return the brokerage's order type value.
    - `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_updated` string, date-time, nullable — The time the order was last updated in the brokerage system. This value is not always available from 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.
    - `expiry_date` string, date-time, nullable — The time the order expires. This value is not always available from the brokerage.
    - `symbol` string, uuid — A unique ID for the security within SnapTrade, scoped to the brokerage account that the security belongs to. This is a legacy field and should not be used. Do not rely on this being a stable ID as it can change.
    - `child_brokerage_order_ids` ChildBrokerageOrderIDs
      - `take_profit_order_id` string — The brokerage order ID for the take profit leg of the bracket order
      - `stop_loss_order_id` string — The brokerage order ID for the stop loss leg of the bracket order
  - `total_value` SnapTradeHoldingsTotalValue — This field is deprecated. To get the brokerage reported total market value of the account, please refer to `account.balance.total`. The total market value of the account. Note that this field is calculated based on the sum of the values of account positions and cash balances known to SnapTrade. It may not be accurate if the brokerage account has holdings that SnapTrade is not aware of. For example, if the brokerage account holds assets that SnapTrade does not support, the total value may be underreported. In certain cases, this value may also be double-counting cash-equivalent assets if those assets are represented as both cash and positions in the account.
    - `value` number, nullable — Total value denominated in the currency of the `currency` field.
    - `currency` string, nullable — The ISO-4217 currency code for the amount.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `425` — Too Early
- `500` — Unexpected Error
- `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.

---

[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/versions/7447c23a8306/schema)
