tastytradeDeveloper Docs
Legacy ↗

API Reference / Balances and Positions

List Account Balance Snapshots

getAccountsAccountNumberBalanceSnapshots
get/accounts/{account_number}/balance-snapshots

Base URL: https://api.cert.tastyworks.com (Sandbox) · https://api.tastyworks.com (Production)

Returns balance snapshots for an account; the response also includes the account's current balance object alongside the historical snapshots. A snapshot is captured twice a day: once in the morning (BOD) and once after the equities market closes (EOD). The required time-of-day parameter selects which snapshot. Optionally pass snapshot-date for a specific day, or start-date and end-date for a range; if no dates are given, the most recent snapshot is returned. Results are paginated via per-page and page-offset.

Code samples

curl -X GET 'https://api.cert.tastyworks.com/accounts/5WX01234/balance-snapshots?per-page=10&page-offset=10&currency=%7Bcurrency%7D&snapshot-date=2024-01-15&time-of-day=EOD&start-date=2024-01-15&end-date=2024-01-15' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'User-Agent: tastytrade-docs-example/1.0'

Parameters

NameInTypeDescription
per-pagequeryinteger
e.g. 10
page-offsetqueryinteger
e.g. 10
currencyquerystringCurrency
snapshot-datequerystringThe day of the balance snapshot to retrieve
e.g. "2024-01-15"
time-of-day*querystringThe abbreviation for the time of day.
enum: EOD, BOD
e.g. "EOD"
start-datequerystringThe first date in a range of dates to retrieve
e.g. "2024-01-15"
end-datequerystringThe last date in a range of dates to retrieve
e.g. "2024-01-15"
account_number*pathstring
e.g. "5WX01234"

Responses

200A list of balance snapshots wrapped in a data.items array. The list also includes the account's current balance object alongside the historical snapshots.application/json

Example response

{
  "data": {
    "items": [
      {
        "account-number": "5WX01234",
        "currency": "USD",
        "cash-balance": "7218.997",
        "long-equity-value": "24629.746",
        "short-equity-value": "100.00",
        "long-derivative-value": "100.00",
        "short-derivative-value": "100.00",
        "long-futures-value": "100.00",
        "short-futures-value": "100.00",
        "long-futures-derivative-value": "100.00",
        "short-futures-derivative-value": "100.00",
        "long-margineable-value": "100.00",
        "short-margineable-value": "100.00",
        "margin-equity": "32520.734",
        "equity-buying-power": "45657.048",
        "derivative-buying-power": "22828.524",
        "day-trading-buying-power": "string",
        "futures-margin-requirement": "string",
        "available-trading-funds": "string",
        "maintenance-requirement": "9692.211",
        "maintenance-call-value": "100.00",
        "reg-t-call-value": "100.00",
        "day-trading-call-value": "100.00",
        "day-equity-call-value": "100.00",
        "net-liquidating-value": "32520.734",
        "cash-available-to-withdraw": "string",
        "day-trade-excess": "string",
        "pending-cash": "0.0",
        "pending-cash-effect": "None",
        "long-cryptocurrency-value": "USD",
        "short-cryptocurrency-value": "USD",
        "cryptocurrency-margin-requirement": "USD",
        "unsettled-cryptocurrency-fiat-amount": "USD",
        "unsettled-cryptocurrency-fiat-effect": "USD",
        "closed-loop-available-balance": "100.00",
        "equity-offering-margin-requirement": "string",
        "long-bond-value": "100.00",
        "bond-margin-requirement": "string",
        "used-derivative-buying-power": "string",
        "special-memorandum-account-value": "100.00",
        "special-memorandum-account-apex-adjustment": "string",
        "total-settle-balance": "100.00",
        "margin-settle-balance": "100.00",
        "cash-settle-balance": "100.00",
        "sma-equity-option-buying-power": "string",
        "snapshot-date": "2026-06-08",
        "time-of-day": "EOD"
      }
    ]
  },
  "context": "/accounts/{account_number}/balance-snapshots",
  "pagination": {
    "per-page": 0,
    "page-offset": 0,
    "item-offset": 0,
    "total-items": 0,
    "total-pages": 0,
    "current-item-count": 0
  }
}

Schema

  • datarequiredobject
    • itemsrequiredarray<object>{47 fields}
  • contextrequiredstring

    example: "/accounts/{account_number}/balance-snapshots"

  • paginationobject

    Paging metadata, present on paginated list responses.

    • per-pageinteger
    • page-offsetinteger
    • item-offsetinteger
    • total-itemsinteger
    • total-pagesinteger
    • current-item-countinteger
401Missing or invalid access token, or a missing/malformed User-Agent header. Access tokens last 15 minutes; send Authorization: Bearer <token> and a User-Agent like my-app/1.0 on every request.application/json

Example response

{
  "error": {
    "code": "unauthorized",
    "message": "No valid access token was provided; access tokens expire after 15 minutes."
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

403Authenticated, but the token's scope or the account's authority level does not permit reading balance snapshots for this account.application/json

Example response

{
  "error": {
    "code": "not_permitted",
    "message": "User not permitted access"
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

404Account not found. Verify the account_number and confirm you are hitting the correct environment (sandbox vs production).application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

422The query is invalid in context, for example a missing required time-of-day, or an invalid date or date range. Provide a valid time-of-day (BOD or EOD) and well-formed dates.application/json

Example response

{
  "error": {
    "code": "preflight_check_failure",
    "message": "One or more preflight checks failed",
    "errors": [
      {
        "code": "preflight_check_failure",
        "message": "A specific validation failed for this order."
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

429Request rate exceeded. Back off exponentially and reduce request rate.application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

Related

Agents: this page is also Markdown (with the embedded OpenAPI definition) — append .md or send Accept: text/markdown. Index at /llms.txt.