---
title: "Get Account Balances"
method: GET
path: "/v1/accounts/{account_id}/balances"
tags: ["Accounts"]
---

# Get Account Balances

`GET /v1/accounts/{account_id}/balances`

## Request

- Base URL: `https://api.clearstreet.com`
- URL: `https://api.clearstreet.com/v1/accounts/{account_id}/balances`
- Auth: HTTP bearer

Fetch account balance information

## Path parameters

- `account_id` integer, required

## Query parameters

- `top_margin_contributors_limit` integer

## Response `200`

Account balance information

- object
  - `error` ApiError: A direct mapping of tonic::Status, for use in HTTP responses.
    - `code` integer, required: The error code is used to identify the nature of the error. It corresponds to an HTTP status code.
    - `details` object[]
    - `message` string, required: A human-readable message providing more details about the error.
  - `metadata` ResponseMetadata, required: Metadata for the response. This will always contain a request ID which can be used to identify the request to Clear Street for tracing, and optionally may include pagination data.
    - `next_page_token` string, byte, nullable: Base64URL-encoded pagination token
    - `page_number` integer, nullable: Pagination. Included if this was a GET (list) response
    - `previous_page_token` string, byte, nullable: Base64URL-encoded pagination token
    - `request_id` string, required: A unique ID for this request, generated upon ingestion of the request.
    - `total_items` integer, nullable: Total number of items available (not just in this page).
    - `total_pages` integer, nullable: Total number of pages available.
  - `data` AccountBalances, required: Represents the balance details for a trading account
    - `account_id` integer, required
    - `buying_power` string, required: The total buying power available in the account: base buying power plus the open order adjustment, where base buying power is maintenance margin excess times the multiplier for intraday and overnight margin excess times the multiplier for overnight.
    - `currency` string, required: Currency identifier for all monetary values.
    - `daily_change` string, required: Difference between current equity and start-of-day equity.
    - `daily_pnl` string, required: Total profit or loss since start of day.
    - `daily_realized_pnl` string, required: Realized profit or loss since start of day.
    - `daily_unrealized_pnl` string, required: Total unrealized profit or loss across all positions relative to prior close.
    - `equity` string, required: The total equity in the account: cash plus long market value plus short market value, where short market value is negative.
    - `long_market_value` string, required: The total market value of all long positions.
    - `margin_details` MarginDetails
      - `initial_margin_excess` string, required: The difference between equity and the initial margin requirement.
      - `initial_margin_requirement` string, required: The amount of equity required to open new positions.
      - `intraday_details` MarginSessionDetails, required
        - `buying_power` string, required: Maximum buying power available in the account during the session: base buying power plus the open order adjustment, where base buying power is maintenance margin excess times the multiplier for intraday and overnight margin excess times the multiplier for overnight.
        - `multiplier` string, nullable: Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.
      - `maintenance_margin_excess` string, required: The difference between equity and the maintenance margin requirement.
      - `maintenance_margin_requirement` string, required: The amount of equity required to maintain current positions.
      - `overnight_details` MarginSessionDetails, required
        - `buying_power` string, required: Maximum buying power available in the account during the session: base buying power plus the open order adjustment, where base buying power is maintenance margin excess times the multiplier for intraday and overnight margin excess times the multiplier for overnight.
        - `multiplier` string, nullable: Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.
      - `overnight_margin_excess` string, required: The difference between equity and the overnight margin requirement.
      - `overnight_margin_requirement` string, required: The amount of equity required to hold current positions overnight.
      - `top_contributors` MarginTopContributor[]: Optional top margin contributors, returned only when explicitly requested.
        - `initial_margin_requirement` string, required: Initial margin requirement attributable to this underlying.
        - `maintenance_margin_requirement` string, required: Maintenance margin requirement attributable to this underlying.
        - `market_value` string, required: Net market value attributable to this underlying.
        - `overnight_margin_requirement` string, required: Overnight margin requirement attributable to this underlying.
        - `underlying_instrument_id` string, uuid, required: UUID of the underlying security contributing to margin requirement.
      - `usage` MarginDetailsUsage
        - `total` string, required: The total margin available in the current model.
        - `used` string, required: The amount of margin that is currently being utilized.
    - `margin_type` 'OTHER' | 'NONE' | 'PORTFOLIO_MARGIN' | 'RISK_BASED_HAIRCUT_BROKER_DEALER' | 'REG_T' | 'RISK_BASED_HAIRCUT_MARKET_MAKER' | 'CIRO' | 'FUTURES_NLV' | 'FUTURES_TOT_EQ', required: An account's margin type
    - `multiplier` string, nullable: Margin multiplier: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session. When a null/undefined value is observed, it indicates it does not apply.
    - `open_order_adjustment` string, required: Buying power correction from open orders, computed as projected buying power minus actual buying power. A negative value means open orders are consuming buying power.
    - `settled_cash` string, required: The amount of cash that is settled and available for withdrawal or trading.
    - `short_market_value` string, nullable: The total market value of all short positions. When null/undefined, the value should be assumed to be zero. The field is omitted to simplify the response.
    - `sod` AccountBalancesSod, required
      - `asof` string, date, nullable: Timestamp for the start-of-day values. When a null/undefined value is observed, it indicates that there is no available data.
      - `buying_power` string, required: Start-of-day buying power.
      - `equity` string, required: Start-of-day equity.
      - `long_market_value` string, required: Start-of-day long market value.
      - `maintenance_margin_excess` string, nullable: Start-of-day maintenance margin excess: the difference between equity and the maintenance margin requirement. When a null/undefined value is observed, it indicates it does not apply.
      - `maintenance_margin_requirement` string, nullable: Start-of-day maintenance margin requirement: the amount of equity required to maintain current positions. When a null/undefined value is observed, it indicates it does not apply.
      - `short_market_value` string, required: Start-of-day short market value.
      - `trade_cash` string, nullable: Start-of-day trade cash. When a null/undefined value is observed, it indicates it does not apply.
    - `trade_cash` string, required: Trade-date effective cash.
    - `unrealized_pnl` string, required: Total unrealized profit or loss across all open positions.
    - `unsettled_credits` string, required: Trade-date unsettled cash credits.
    - `unsettled_debits` string, required: Trade-date unsettled cash debits.
    - `withdrawable_cash` string, required: The amount of cash currently available to withdraw.

## Other responses

- `403`: Forbidden
- `404`: Account not found
- `500`: Internal server error

## Changes

- **2026-10-16** `1bd9eddeffc8`: 4 breaking, 2 warning, 3 info
  - removed the required property `allOf[subschema #2]/data/daily_total_pnl` from the response with the `200` status
  - removed the required property `allOf[subschema #2]/data/margin_details/oneOf[#/components/schemas/MarginDetails]/day_trade_count` from the response with the `200` status
  - removed the required property `allOf[subschema #2]/data/margin_details/oneOf[#/components/schemas/MarginDetails]/pattern_day_trader` from the response with the `200` status
  - removed the required property `allOf[subschema #2]/data/margin_details/oneOf[#/components/schemas/MarginDetails]/top_contributors/items/day_trade_buying_power_usage` from the response with the `200` status
  - …5 more
- **2026-06-16** `1354f5c9f44f`: 3 info
  - added the required property `allOf[subschema #2]/data/daily_change` to the response with the `200` status
  - added the required property `allOf[subschema #2]/data/daily_pnl` to the response with the `200` status
  - added the required property `allOf[subschema #2]/data/unrealized_pnl` to the response with the `200` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/clear-street/apis/clear-street-trading-api/changes/v1/accounts/:account_id/balances/get.md)

---

[API](https://skmtc.dev/clear-street/apis/clear-street-trading-api.md) - [All operations](https://skmtc.dev/clear-street/apis/clear-street-trading-api/llms.txt) - [OpenAPI document](https://skmtc.dev/clear-street/apis/clear-street-trading-api/revisions/52e77ea7d731?raw)
