> For AI agents: the complete documentation index is available at [llms.txt](https://docs.snaptrade.com/llms.txt), and the full documentation text is available at [llms-full.txt](https://docs.snaptrade.com/llms-full.txt). Markdown versions of documentation pages are available by appending .md to the URL path.

# List all user accounts

GET https://api.snaptrade.com/accounts/all

Returns all accounts across all connections known to SnapTrade for the authenticated user.

The `results` list can contain multiple account types in the same response, including investment, deposit, and line of credit accounts. Use the `kind` discriminator to determine the schema for each account.

This endpoint returns Daily data regardless of the customer's plan. Daily data is cached and refreshed once a day, which makes this endpoint fast and well-suited to listing accounts across all of a user's connections in a single call. Exact refresh timing may vary by institution. To get real-time data on Pay as you Go / Real-time, use the [list accounts for a connection endpoint](/reference/Connections/Connections_listConnectionAccounts). Customers on Pay as you Go / Daily can force a refresh with the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization).


Reference: https://docs.snaptrade.com/reference/Account%20Information/AccountInformation_listAllUserAccounts

## Code Examples

### TypeScript

```typescript

import {
  Snaptrade,
  SnaptradeAuth,
} from "snaptrade-typescript-sdk";

const snaptrade = new Snaptrade({
  auth: SnaptradeAuth.commercialApiKey({
    consumerKey: "CONSUMER_KEY",
    clientId: "CLIENT_ID",
  }),
});

const response =
  await snaptrade.accountInformation.listAllUserAccounts(
    {
      userId: "USER_ID",
      userSecret: "USER_SECRET",
    },
  );
console.log(response.data);

```

### Python

```python

from pprint import pprint
from snaptrade_client import SnapTrade, SnapTradeAuth

snaptrade = SnapTrade(
    auth=SnapTradeAuth.commercial_api_key(
        consumer_key="CONSUMER_KEY",
        client_id="CLIENT_ID",
    )
)

response = snaptrade.account_information.list_all_user_accounts(
    user_id="USER_ID",
    user_secret="USER_SECRET"
)
pprint(response.body)

```

## OpenAPI Specification

```yaml

openapi: 3.0.0
info:
  description: >
    Connect brokerage accounts to your app for live positions and trading.


    ## Rate limiting


    Two limits apply to requests signed with your `clientId`. The stricter one

    wins, and exceeding either returns `429 Too Many Requests`.


    - **Customer-level** — 250 requests/minute by default, scoped to your
      `clientId` and applied across all endpoints. Reported in
      `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset`.
    - **Account-level** — 10 requests/minute per account, scoped to
      (`clientId`, `accountId`). All covered operations for one account draw on
      the same bucket — reading balances and reading positions share it — and
      enforcement does not depend on the HTTP method, so updating an account
      consumes the same bucket as reading it. Only enforced for Personal users,
      and only for integrations it has been rolled out to — it is not yet in
      force for every Personal integration. It also does not apply on every
      operation that documents a 429 below. Where it applies it is reported in
      `X-RateLimit-Account-Limit`, `X-RateLimit-Account-Remaining` and
      `X-RateLimit-Account-Reset`. Do not read the absence of those headers as
      proof the limit is off — some configurations omit the rate limit headers
      while still enforcing the limit, so header absence tells you nothing
      about your allowance.

    On a 429, `X-RateLimit-Remaining: 0` means you hit the customer-level limit

    and `X-RateLimit-Account-Remaining: 0` means the account-level one. Wait for

    the corresponding `*-Reset` value (seconds) before retrying, or fall back to

    exponential backoff with jitter.


    Not every 429 is explained by those headers. A separate

    per-authenticated-user limit, reported in no `X-RateLimit-*` header, covers

    OAuth-authenticated requests and signed requests in configurations where the

    customer-level limit is not in effect — on the operations that use the

    default throttles. A few operations override those and are governed by the

    customer-level limit alone. The two do not stack: a signed request

    governed by the customer-level limit above is not additionally subject to
    the

    per-user one. If a 429 arrives with no header at zero — or with no

    `X-RateLimit-*` headers at all — honour `Retry-After` and back off. Treat
    the

    remaining counts as a hint, not a guarantee that the next request will

    succeed.


    Because the customer-level limit applies everywhere, any signed request can

    return 429.


    **OAuth-authenticated requests are an exception.** They are not subject to

    the customer-level limit and do not receive `X-RateLimit-Limit`,

    `X-RateLimit-Remaining` or `X-RateLimit-Reset` — do not wait on those
    headers

    or design around a customer-level allowance on this path. The account-level

    limit still applies to them on the account-data endpoints above, reported in

    the `X-RateLimit-Account-*` headers. On operations using the default

    throttles the per-user limit above applies to them as well, so an OAuth

    request can be rejected while the account headers still show capacity; on

    the few operations that override those throttles, OAuth callers have no

    per-user ceiling at all. Drive retries from `Retry-After` and exponential

    backoff with jitter rather than from the headers.


    See https://docs.snaptrade.com/docs/ratelimiting.
  version: 1.0.0
  title: SnapTrade
  termsOfService: N/A
  contact:
    email: api@snaptrade.com
  x-konfig-ignore:
    potential-incorrect-type: true
  x-readme:
    explorer-enabled: false
paths:
  /accounts/all:
    get:
      tags:
        - Account Information
      summary: List all user accounts
      description: >
        Returns all accounts across all connections known to SnapTrade for the
        authenticated user.


        The `results` list can contain multiple account types in the same
        response, including investment, deposit, and line of credit accounts.
        Use the `kind` discriminator to determine the schema for each account.


        This endpoint returns Daily data regardless of the customer's plan.
        Daily data is cached and refreshed once a day, which makes this endpoint
        fast and well-suited to listing accounts across all of a user's
        connections in a single call. Exact refresh timing may vary by
        institution. To get real-time data on Pay as you Go / Real-time, use the
        [list accounts for a connection
        endpoint](/reference/Connections/Connections_listConnectionAccounts).
        Customers on Pay as you Go / Daily can force a refresh with the [manual
        refresh
        endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization).
      operationId: AccountInformation_listAllUserAccounts
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: Accounts across all of the user's connections.
                type: object
                properties:
                  results:
                    type: array
                    description: Accounts returned for the request.
                    items:
                      description: >
                        A single account under a connection, from the
                        `kind`-discriminated union

                        used by `Connections_listConnectionAccounts` and

                        `AccountInformation_listAllUserAccounts`. Use `kind` to
                        determine

                        which schema is present.


                        `investment`, `deposit`, and `line_of_credit` are
                        implemented today.
                      oneOf:
                        - description: >
                            An investment account under a connection.
                            `opening_date`,

                            `funding_date`, and `net_value` are real-time or
                            cached depending

                            on the caller's plan -- see
                            `Connections_listConnectionAccounts` --

                            and always cached on
                            `AccountInformation_listAllUserAccounts`.
                          type: object
                          required:
                            - kind
                            - id
                            - connection_id
                            - masked_account_number
                            - sync_status
                            - is_paper
                          properties:
                            kind:
                              type: string
                              description: Discriminator for the account kind.
                              enum:
                                - investment
                              example: investment
                            id:
                              description: >-
                                Unique identifier for the connected institution
                                account. This is the UUID used to reference the
                                account in SnapTrade.
                              allOf:
                                - description: >-
                                    Unique identifier for the connected
                                    brokerage account. This is the UUID used to
                                    reference the account in SnapTrade.
                                  type: string
                                  format: uuid
                                  example: 917c8734-8470-4a3e-a18f-57c3f2ee6631
                            connection_id:
                              description: >-
                                Unique identifier for the connection
                                (brokerage_authorization_id). This is the UUID
                                used to reference the connection in SnapTrade.
                              type: string
                              format: uuid
                              example: 87b24961-b51e-4db8-9226-f198f6518a89
                            display_name:
                              type: string
                              nullable: true
                              description: >-
                                A display name for the account. Either assigned
                                by the user or by the institution itself.
                              example: Robinhood Individual
                            masked_account_number:
                              type: string
                              example: '****8443'
                              description: >-
                                The account number assigned by the institution,
                                masked to the last 4 characters (e.g.
                                `****8443`).
                            institution_account_id:
                              type: string
                              nullable: true
                              example: '54953432'
                              description: >-
                                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 institution
                                account across multiple connections.
                            institution_id:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier for the institution that holds
                                the account.
                              example: b6e1a9f0-6e2a-4c37-9b0a-6f1e2d3c4b5a
                            opening_date:
                              type: string
                              format: date-time
                              nullable: true
                              description: >-
                                Timestamp in [ISO
                                8601](https://en.wikipedia.org/wiki/ISO_8601)
                                format indicating when the account was opened at
                                the institution. Only populated for institutions
                                that expose this data; `null` for all other
                                institutions. See [supported
                                institutions](https://support.snaptrade.com/brokerages)
                                for the full list.
                              example: '2024-07-20T09:30:00.000Z'
                            funding_date:
                              type: string
                              format: date-time
                              nullable: true
                              description: >-
                                Timestamp in [ISO
                                8601](https://en.wikipedia.org/wiki/ISO_8601)
                                format indicating when the account was funded.
                                Only populated for institutions that expose this
                                data; `null` for all other institutions. See
                                [supported
                                institutions](https://support.snaptrade.com/brokerages)
                                for the full list.
                              example: '2024-07-25T12:00:00.000Z'
                            sync_status:
                              description: >
                                Contains status updates for the account sync
                                process between SnapTrade and the institution,

                                used by `InvestmentAccount` in
                                `Connections_listConnectionAccounts`. Each
                                property is optional

                                -- an institution may not report sync status for
                                every data type. `orders`/`positions`/`balances`

                                are the timestamp of the last successful sync of
                                that data type (null if never synced). See

                                `DepositAccountSyncStatus`/`LineOfCreditAccountSyncStatus`
                                for the deposit/line-of-credit

                                counterparts, which omit `orders`/`positions`
                                since those account kinds don't place orders or

                                hold positions.
                              type: object
                              properties:
                                transactions:
                                  description: >
                                    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.
                                  properties:
                                    initial_sync_completed:
                                      description: >-
                                        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.
                                      type: boolean
                                      example: true
                                    last_successful_sync:
                                      description: >-
                                        All transactions up to this date have
                                        been successfully synced. Please note
                                        that this is not the date of the last
                                        transaction, nor the last time SnapTrade
                                        attempted to sync transactions.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                    first_transaction_date:
                                      description: >-
                                        The date of the first transaction in the
                                        account known to SnapTrade. It's
                                        possible that the account has
                                        transactions before this date, but they
                                        are not known to SnapTrade.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                orders:
                                  description: >-
                                    The last time orders were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                                positions:
                                  description: >-
                                    The last time positions were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                                balances:
                                  description: >-
                                    The last time balances were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                            raw_type:
                              type: string
                              nullable: true
                              description: The account type as provided by the institution.
                              example: Margin
                            cash_or_margin:
                              type: string
                              description: >
                                Whether the institution reports the account as a
                                cash or margin account, normalized across
                                institutions.

                                - `cash`: A cash account. The account cannot
                                borrow on margin.

                                - `margin`: A margin account, including
                                portfolio margin accounts. Some institutions
                                also report retirement accounts with limited
                                margin (for example, trading before funds
                                settle) as margin accounts.

                                - `unknown`: The institution does not report
                                whether the account is cash or margin.


                                **Beta:** only returned for some institutions
                                and partners it has been enabled for. Omitted
                                otherwise.
                              enum:
                                - cash
                                - margin
                                - unknown
                              example: margin
                            is_paper:
                              type: boolean
                              description: >-
                                Indicates whether the account is a paper
                                (simulated) trading account.
                              example: false
                            net_value:
                              type: object
                              nullable: true
                              description: >-
                                Net value of the account -- total market value
                                for investment accounts. Shared across all
                                account kinds -- negative for `line_of_credit`
                                accounts, representing money owed. Null when
                                unknown (e.g. a real-time fetch failed and no
                                cached value exists).
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: 84213.55
                                currency: USD
                        - description: >
                            A deposit account (checking, savings) under a
                            connection.
                          type: object
                          required:
                            - kind
                            - id
                            - connection_id
                            - masked_account_number
                            - sync_status
                          properties:
                            kind:
                              type: string
                              description: Discriminator for the account kind.
                              enum:
                                - deposit
                              example: deposit
                            id:
                              description: >-
                                Unique identifier for the connected institution
                                account. This is the UUID used to reference the
                                account in SnapTrade.
                              allOf:
                                - description: >-
                                    Unique identifier for the connected
                                    brokerage account. This is the UUID used to
                                    reference the account in SnapTrade.
                                  type: string
                                  format: uuid
                                  example: 917c8734-8470-4a3e-a18f-57c3f2ee6631
                            connection_id:
                              description: >-
                                Unique identifier for the connection
                                (brokerage_authorization_id). This is the UUID
                                used to reference the connection in SnapTrade.
                              type: string
                              format: uuid
                              example: 87b24961-b51e-4db8-9226-f198f6518a89
                            display_name:
                              type: string
                              nullable: true
                              description: >-
                                A display name for the account. Either assigned
                                by the user or by the institution itself.
                              example: Chase Total Checking
                            masked_account_number:
                              type: string
                              example: '****4821'
                              description: >-
                                The account number assigned by the institution,
                                masked to the last 4 characters (e.g.
                                `****4821`).
                            institution_account_id:
                              type: string
                              nullable: true
                              example: '88213092'
                              description: >-
                                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 institution
                                account across multiple connections.
                            institution_id:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier for the institution that holds
                                the account.
                              example: a7f0c9d1-2b3e-4f5a-8c6d-9e0f1a2b3c4d
                            opening_date:
                              type: string
                              format: date-time
                              nullable: true
                              description: >-
                                Timestamp in [ISO
                                8601](https://en.wikipedia.org/wiki/ISO_8601)
                                format indicating when the account was opened at
                                the institution. Only populated for institutions
                                that expose this data; `null` for all other
                                institutions.
                              example: '2018-06-04T00:00:00.000Z'
                            sync_status:
                              description: >
                                Contains status updates for the account sync
                                process between SnapTrade and the institution,

                                used by `DepositAccount` in
                                `Connections_listConnectionAccounts`. Each
                                property is optional --

                                an institution may not report sync status for
                                every data type. Deposit accounts don't place

                                orders or hold positions, so unlike
                                `ConnectionAccountSyncStatus` this type has no
                                `orders` or

                                `positions` field. `balances` is the timestamp
                                of the last successful sync of that data type

                                (null if never synced).
                              type: object
                              properties:
                                transactions:
                                  description: >
                                    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.
                                  properties:
                                    initial_sync_completed:
                                      description: >-
                                        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.
                                      type: boolean
                                      example: true
                                    last_successful_sync:
                                      description: >-
                                        All transactions up to this date have
                                        been successfully synced. Please note
                                        that this is not the date of the last
                                        transaction, nor the last time SnapTrade
                                        attempted to sync transactions.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                    first_transaction_date:
                                      description: >-
                                        The date of the first transaction in the
                                        account known to SnapTrade. It's
                                        possible that the account has
                                        transactions before this date, but they
                                        are not known to SnapTrade.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                balances:
                                  description: >-
                                    The last time balances were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                            raw_type:
                              type: string
                              nullable: true
                              description: The account type as provided by the institution.
                              example: CHECKING
                            net_value:
                              type: object
                              nullable: true
                              description: >-
                                Net value of the account -- cash balance for
                                deposit accounts. Shared across all account
                                kinds -- negative for `line_of_credit` accounts,
                                representing money owed. Null when unknown (e.g.
                                a real-time fetch failed and no cached value
                                exists).
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: 3120.44
                                currency: USD
                        - description: >
                            A line-of-credit account (e.g. a credit card) under
                            a connection.
                          type: object
                          required:
                            - kind
                            - id
                            - connection_id
                            - masked_account_number
                            - sync_status
                          properties:
                            kind:
                              type: string
                              description: Discriminator for the account kind.
                              enum:
                                - line_of_credit
                              example: line_of_credit
                            id:
                              description: >-
                                Unique identifier for the connected institution
                                account. This is the UUID used to reference the
                                account in SnapTrade.
                              allOf:
                                - description: >-
                                    Unique identifier for the connected
                                    brokerage account. This is the UUID used to
                                    reference the account in SnapTrade.
                                  type: string
                                  format: uuid
                                  example: 917c8734-8470-4a3e-a18f-57c3f2ee6631
                            connection_id:
                              description: >-
                                Unique identifier for the connection
                                (brokerage_authorization_id). This is the UUID
                                used to reference the connection in SnapTrade.
                              type: string
                              format: uuid
                              example: 87b24961-b51e-4db8-9226-f198f6518a89
                            display_name:
                              type: string
                              nullable: true
                              description: >-
                                A display name for the account. Either assigned
                                by the user or by the institution itself.
                              example: Chase Sapphire Preferred
                            masked_account_number:
                              type: string
                              example: '****1881'
                              description: >-
                                The account number assigned by the institution,
                                masked to the last 4 characters (e.g.
                                `****1881`).
                            institution_account_id:
                              type: string
                              nullable: true
                              example: '77102934'
                              description: >-
                                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 institution
                                account across multiple connections.
                            institution_id:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier for the institution that holds
                                the account.
                              example: c8f1d0e2-3c4f-5a6b-9d7e-0f2a3b4c5d6e
                            opening_date:
                              type: string
                              format: date-time
                              nullable: true
                              description: >-
                                Timestamp in [ISO
                                8601](https://en.wikipedia.org/wiki/ISO_8601)
                                format indicating when the account was opened at
                                the institution. Only populated for institutions
                                that expose this data; `null` for all other
                                institutions.
                              example: '2019-11-15T00:00:00.000Z'
                            sync_status:
                              description: >
                                Contains status updates for the account sync
                                process between SnapTrade and the institution,

                                used by `LineOfCreditAccount` in
                                `Connections_listConnectionAccounts`. Each
                                property is optional --

                                an institution may not report sync status for
                                every data type. Line-of-credit accounts don't
                                place

                                orders or hold positions, so like
                                `DepositAccountSyncStatus` this type has no
                                `orders` or

                                `positions` field. `balances` is the timestamp
                                of the last successful sync of that data type

                                (null if never synced).
                              type: object
                              properties:
                                transactions:
                                  description: >
                                    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.
                                  properties:
                                    initial_sync_completed:
                                      description: >-
                                        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.
                                      type: boolean
                                      example: true
                                    last_successful_sync:
                                      description: >-
                                        All transactions up to this date have
                                        been successfully synced. Please note
                                        that this is not the date of the last
                                        transaction, nor the last time SnapTrade
                                        attempted to sync transactions.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                    first_transaction_date:
                                      description: >-
                                        The date of the first transaction in the
                                        account known to SnapTrade. It's
                                        possible that the account has
                                        transactions before this date, but they
                                        are not known to SnapTrade.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                balances:
                                  description: >-
                                    The last time balances were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                            raw_type:
                              type: string
                              nullable: true
                              description: The account type as provided by the institution.
                              example: CREDIT_CARD
                            net_value:
                              type: object
                              nullable: true
                              description: >-
                                Net value of the account -- negative,
                                representing money owed. Shared across all
                                account kinds. Null when unknown (e.g. a
                                real-time fetch failed and no cached value
                                exists).
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: -842.17
                                currency: USD
                            minimum_payment_amount:
                              type: object
                              nullable: true
                              description: >-
                                The minimum payment due on the account's next
                                statement. Omitted when no such data is
                                available.
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: 40
                                currency: USD
                            available_credit:
                              type: object
                              nullable: true
                              description: >-
                                The remaining credit available to spend on the
                                account (credit limit less the current balance).
                                Omitted when no such data is available.
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: 4157.83
                                currency: USD
                            next_payment_date:
                              type: string
                              format: date
                              nullable: true
                              description: >-
                                The date the account's next payment is due, in
                                `YYYY-MM-DD` format. Omitted when no such data
                                is available.
                              example: '2026-09-25T00:00:00.000Z'
                      discriminator:
                        propertyName: kind
                        mapping:
                          investment: '#/components/schemas/InvestmentAccount'
                          deposit: '#/components/schemas/DepositAccount'
                          line_of_credit: '#/components/schemas/LineOfCreditAccount'
                      x-konfig-discriminator-schemas:
                        investment:
                          description: >
                            An investment account under a connection.
                            `opening_date`,

                            `funding_date`, and `net_value` are real-time or
                            cached depending

                            on the caller's plan -- see
                            `Connections_listConnectionAccounts` --

                            and always cached on
                            `AccountInformation_listAllUserAccounts`.
                          type: object
                          required:
                            - kind
                            - id
                            - connection_id
                            - masked_account_number
                            - sync_status
                            - is_paper
                          properties:
                            kind:
                              type: string
                              description: Discriminator for the account kind.
                              enum:
                                - investment
                              example: investment
                            id:
                              description: >-
                                Unique identifier for the connected institution
                                account. This is the UUID used to reference the
                                account in SnapTrade.
                              allOf:
                                - description: >-
                                    Unique identifier for the connected
                                    brokerage account. This is the UUID used to
                                    reference the account in SnapTrade.
                                  type: string
                                  format: uuid
                                  example: 917c8734-8470-4a3e-a18f-57c3f2ee6631
                            connection_id:
                              description: >-
                                Unique identifier for the connection
                                (brokerage_authorization_id). This is the UUID
                                used to reference the connection in SnapTrade.
                              type: string
                              format: uuid
                              example: 87b24961-b51e-4db8-9226-f198f6518a89
                            display_name:
                              type: string
                              nullable: true
                              description: >-
                                A display name for the account. Either assigned
                                by the user or by the institution itself.
                              example: Robinhood Individual
                            masked_account_number:
                              type: string
                              example: '****8443'
                              description: >-
                                The account number assigned by the institution,
                                masked to the last 4 characters (e.g.
                                `****8443`).
                            institution_account_id:
                              type: string
                              nullable: true
                              example: '54953432'
                              description: >-
                                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 institution
                                account across multiple connections.
                            institution_id:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier for the institution that holds
                                the account.
                              example: b6e1a9f0-6e2a-4c37-9b0a-6f1e2d3c4b5a
                            opening_date:
                              type: string
                              format: date-time
                              nullable: true
                              description: >-
                                Timestamp in [ISO
                                8601](https://en.wikipedia.org/wiki/ISO_8601)
                                format indicating when the account was opened at
                                the institution. Only populated for institutions
                                that expose this data; `null` for all other
                                institutions. See [supported
                                institutions](https://support.snaptrade.com/brokerages)
                                for the full list.
                              example: '2024-07-20T09:30:00.000Z'
                            funding_date:
                              type: string
                              format: date-time
                              nullable: true
                              description: >-
                                Timestamp in [ISO
                                8601](https://en.wikipedia.org/wiki/ISO_8601)
                                format indicating when the account was funded.
                                Only populated for institutions that expose this
                                data; `null` for all other institutions. See
                                [supported
                                institutions](https://support.snaptrade.com/brokerages)
                                for the full list.
                              example: '2024-07-25T12:00:00.000Z'
                            sync_status:
                              description: >
                                Contains status updates for the account sync
                                process between SnapTrade and the institution,

                                used by `InvestmentAccount` in
                                `Connections_listConnectionAccounts`. Each
                                property is optional

                                -- an institution may not report sync status for
                                every data type. `orders`/`positions`/`balances`

                                are the timestamp of the last successful sync of
                                that data type (null if never synced). See

                                `DepositAccountSyncStatus`/`LineOfCreditAccountSyncStatus`
                                for the deposit/line-of-credit

                                counterparts, which omit `orders`/`positions`
                                since those account kinds don't place orders or

                                hold positions.
                              type: object
                              properties:
                                transactions:
                                  description: >
                                    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.
                                  properties:
                                    initial_sync_completed:
                                      description: >-
                                        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.
                                      type: boolean
                                      example: true
                                    last_successful_sync:
                                      description: >-
                                        All transactions up to this date have
                                        been successfully synced. Please note
                                        that this is not the date of the last
                                        transaction, nor the last time SnapTrade
                                        attempted to sync transactions.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                    first_transaction_date:
                                      description: >-
                                        The date of the first transaction in the
                                        account known to SnapTrade. It's
                                        possible that the account has
                                        transactions before this date, but they
                                        are not known to SnapTrade.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                orders:
                                  description: >-
                                    The last time orders were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                                positions:
                                  description: >-
                                    The last time positions were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                                balances:
                                  description: >-
                                    The last time balances were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                            raw_type:
                              type: string
                              nullable: true
                              description: The account type as provided by the institution.
                              example: Margin
                            cash_or_margin:
                              type: string
                              description: >
                                Whether the institution reports the account as a
                                cash or margin account, normalized across
                                institutions.

                                - `cash`: A cash account. The account cannot
                                borrow on margin.

                                - `margin`: A margin account, including
                                portfolio margin accounts. Some institutions
                                also report retirement accounts with limited
                                margin (for example, trading before funds
                                settle) as margin accounts.

                                - `unknown`: The institution does not report
                                whether the account is cash or margin.


                                **Beta:** only returned for some institutions
                                and partners it has been enabled for. Omitted
                                otherwise.
                              enum:
                                - cash
                                - margin
                                - unknown
                              example: margin
                            is_paper:
                              type: boolean
                              description: >-
                                Indicates whether the account is a paper
                                (simulated) trading account.
                              example: false
                            net_value:
                              type: object
                              nullable: true
                              description: >-
                                Net value of the account -- total market value
                                for investment accounts. Shared across all
                                account kinds -- negative for `line_of_credit`
                                accounts, representing money owed. Null when
                                unknown (e.g. a real-time fetch failed and no
                                cached value exists).
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: 84213.55
                                currency: USD
                        deposit:
                          description: >
                            A deposit account (checking, savings) under a
                            connection.
                          type: object
                          required:
                            - kind
                            - id
                            - connection_id
                            - masked_account_number
                            - sync_status
                          properties:
                            kind:
                              type: string
                              description: Discriminator for the account kind.
                              enum:
                                - deposit
                              example: deposit
                            id:
                              description: >-
                                Unique identifier for the connected institution
                                account. This is the UUID used to reference the
                                account in SnapTrade.
                              allOf:
                                - description: >-
                                    Unique identifier for the connected
                                    brokerage account. This is the UUID used to
                                    reference the account in SnapTrade.
                                  type: string
                                  format: uuid
                                  example: 917c8734-8470-4a3e-a18f-57c3f2ee6631
                            connection_id:
                              description: >-
                                Unique identifier for the connection
                                (brokerage_authorization_id). This is the UUID
                                used to reference the connection in SnapTrade.
                              type: string
                              format: uuid
                              example: 87b24961-b51e-4db8-9226-f198f6518a89
                            display_name:
                              type: string
                              nullable: true
                              description: >-
                                A display name for the account. Either assigned
                                by the user or by the institution itself.
                              example: Chase Total Checking
                            masked_account_number:
                              type: string
                              example: '****4821'
                              description: >-
                                The account number assigned by the institution,
                                masked to the last 4 characters (e.g.
                                `****4821`).
                            institution_account_id:
                              type: string
                              nullable: true
                              example: '88213092'
                              description: >-
                                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 institution
                                account across multiple connections.
                            institution_id:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier for the institution that holds
                                the account.
                              example: a7f0c9d1-2b3e-4f5a-8c6d-9e0f1a2b3c4d
                            opening_date:
                              type: string
                              format: date-time
                              nullable: true
                              description: >-
                                Timestamp in [ISO
                                8601](https://en.wikipedia.org/wiki/ISO_8601)
                                format indicating when the account was opened at
                                the institution. Only populated for institutions
                                that expose this data; `null` for all other
                                institutions.
                              example: '2018-06-04T00:00:00.000Z'
                            sync_status:
                              description: >
                                Contains status updates for the account sync
                                process between SnapTrade and the institution,

                                used by `DepositAccount` in
                                `Connections_listConnectionAccounts`. Each
                                property is optional --

                                an institution may not report sync status for
                                every data type. Deposit accounts don't place

                                orders or hold positions, so unlike
                                `ConnectionAccountSyncStatus` this type has no
                                `orders` or

                                `positions` field. `balances` is the timestamp
                                of the last successful sync of that data type

                                (null if never synced).
                              type: object
                              properties:
                                transactions:
                                  description: >
                                    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.
                                  properties:
                                    initial_sync_completed:
                                      description: >-
                                        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.
                                      type: boolean
                                      example: true
                                    last_successful_sync:
                                      description: >-
                                        All transactions up to this date have
                                        been successfully synced. Please note
                                        that this is not the date of the last
                                        transaction, nor the last time SnapTrade
                                        attempted to sync transactions.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                    first_transaction_date:
                                      description: >-
                                        The date of the first transaction in the
                                        account known to SnapTrade. It's
                                        possible that the account has
                                        transactions before this date, but they
                                        are not known to SnapTrade.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                balances:
                                  description: >-
                                    The last time balances were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                            raw_type:
                              type: string
                              nullable: true
                              description: The account type as provided by the institution.
                              example: CHECKING
                            net_value:
                              type: object
                              nullable: true
                              description: >-
                                Net value of the account -- cash balance for
                                deposit accounts. Shared across all account
                                kinds -- negative for `line_of_credit` accounts,
                                representing money owed. Null when unknown (e.g.
                                a real-time fetch failed and no cached value
                                exists).
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: 3120.44
                                currency: USD
                        line_of_credit:
                          description: >
                            A line-of-credit account (e.g. a credit card) under
                            a connection.
                          type: object
                          required:
                            - kind
                            - id
                            - connection_id
                            - masked_account_number
                            - sync_status
                          properties:
                            kind:
                              type: string
                              description: Discriminator for the account kind.
                              enum:
                                - line_of_credit
                              example: line_of_credit
                            id:
                              description: >-
                                Unique identifier for the connected institution
                                account. This is the UUID used to reference the
                                account in SnapTrade.
                              allOf:
                                - description: >-
                                    Unique identifier for the connected
                                    brokerage account. This is the UUID used to
                                    reference the account in SnapTrade.
                                  type: string
                                  format: uuid
                                  example: 917c8734-8470-4a3e-a18f-57c3f2ee6631
                            connection_id:
                              description: >-
                                Unique identifier for the connection
                                (brokerage_authorization_id). This is the UUID
                                used to reference the connection in SnapTrade.
                              type: string
                              format: uuid
                              example: 87b24961-b51e-4db8-9226-f198f6518a89
                            display_name:
                              type: string
                              nullable: true
                              description: >-
                                A display name for the account. Either assigned
                                by the user or by the institution itself.
                              example: Chase Sapphire Preferred
                            masked_account_number:
                              type: string
                              example: '****1881'
                              description: >-
                                The account number assigned by the institution,
                                masked to the last 4 characters (e.g.
                                `****1881`).
                            institution_account_id:
                              type: string
                              nullable: true
                              example: '77102934'
                              description: >-
                                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 institution
                                account across multiple connections.
                            institution_id:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier for the institution that holds
                                the account.
                              example: c8f1d0e2-3c4f-5a6b-9d7e-0f2a3b4c5d6e
                            opening_date:
                              type: string
                              format: date-time
                              nullable: true
                              description: >-
                                Timestamp in [ISO
                                8601](https://en.wikipedia.org/wiki/ISO_8601)
                                format indicating when the account was opened at
                                the institution. Only populated for institutions
                                that expose this data; `null` for all other
                                institutions.
                              example: '2019-11-15T00:00:00.000Z'
                            sync_status:
                              description: >
                                Contains status updates for the account sync
                                process between SnapTrade and the institution,

                                used by `LineOfCreditAccount` in
                                `Connections_listConnectionAccounts`. Each
                                property is optional --

                                an institution may not report sync status for
                                every data type. Line-of-credit accounts don't
                                place

                                orders or hold positions, so like
                                `DepositAccountSyncStatus` this type has no
                                `orders` or

                                `positions` field. `balances` is the timestamp
                                of the last successful sync of that data type

                                (null if never synced).
                              type: object
                              properties:
                                transactions:
                                  description: >
                                    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.
                                  properties:
                                    initial_sync_completed:
                                      description: >-
                                        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.
                                      type: boolean
                                      example: true
                                    last_successful_sync:
                                      description: >-
                                        All transactions up to this date have
                                        been successfully synced. Please note
                                        that this is not the date of the last
                                        transaction, nor the last time SnapTrade
                                        attempted to sync transactions.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                    first_transaction_date:
                                      description: >-
                                        The date of the first transaction in the
                                        account known to SnapTrade. It's
                                        possible that the account has
                                        transactions before this date, but they
                                        are not known to SnapTrade.
                                      nullable: true
                                      allOf:
                                        - description: Date in YYYY-MM-DD format or null
                                          type: string
                                          example: '2022-01-24T00:00:00.000Z'
                                          format: date
                                          nullable: true
                                balances:
                                  description: >-
                                    The last time balances were successfully
                                    synced by SnapTrade.
                                  nullable: true
                                  allOf:
                                    - description: >-
                                        Date in ISO 8601 format or null
                                        (YYYY-MM-DD HH:MM:SS.mmmmmmTZ)
                                      type: string
                                      example: '2024-06-28T18:42:46.561Z'
                                      format: date-time
                                      nullable: true
                            raw_type:
                              type: string
                              nullable: true
                              description: The account type as provided by the institution.
                              example: CREDIT_CARD
                            net_value:
                              type: object
                              nullable: true
                              description: >-
                                Net value of the account -- negative,
                                representing money owed. Shared across all
                                account kinds. Null when unknown (e.g. a
                                real-time fetch failed and no cached value
                                exists).
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: -842.17
                                currency: USD
                            minimum_payment_amount:
                              type: object
                              nullable: true
                              description: >-
                                The minimum payment due on the account's next
                                statement. Omitted when no such data is
                                available.
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: 40
                                currency: USD
                            available_credit:
                              type: object
                              nullable: true
                              description: >-
                                The remaining credit available to spend on the
                                account (credit limit less the current balance).
                                Omitted when no such data is available.
                              properties:
                                amount:
                                  type: number
                                  nullable: true
                                currency:
                                  type: string
                                  nullable: true
                              example:
                                amount: 4157.83
                                currency: USD
                            next_payment_date:
                              type: string
                              format: date
                              nullable: true
                              description: >-
                                The date the account's next payment is due, in
                                `YYYY-MM-DD` format. Omitted when no such data
                                is available.
                              example: '2026-09-25T00:00:00.000Z'
                required:
                  - results
        '401':
          description: Unauthorized, invalid credentials for this resource
          content:
            application/json:
              schema:
                description: Example for failed request response
                type: object
                properties:
                  default_detail:
                    example: Unable to verify signature sent
                  default_code:
                    example: 1076
      security:
        - PartnerSignature: []
          PartnerClientId: []
          PartnerTimestamp: []
          userId: []
          userSecret: []
        - PersonalSignature: []
          PersonalClientId: []
          PersonalTimestamp: []

```