tastytradeDeveloper Docs
Legacy ↗

API Reference / Account Status

Get Account Trading Status

getAccountsAccountNumberTradingStatus
get/accounts/{account_number}/trading-status

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

Returns the current trading status for an account, reporting whether and how it may trade. If `is-closed` or `is-frozen` is true, trading is blocked entirely; if `is-closing-only` (or `is-cryptocurrency-closing-only` / `is-futures-closing-only`) is true, only closing trades are allowed, and `is-risk-reducing-only` restricts the account to de-risking activity. The response also exposes per-feature toggles, the live `day-trade-count`, the `options-level` tier, and margin-call flags. Check trading status before building order flows so restrictions surface up front rather than as rejected orders.

Code samples

curl -X GET 'https://api.cert.tastyworks.com/accounts/5WX01234/trading-status' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'User-Agent: tastytrade-docs-example/1.0'

Parameters

NameInTypeDescription
account_number*pathstring
e.g. "5WX01234"

Responses

200The account's current trading status.application/json

Example response

{
  "data": {
    "id": 15,
    "account-number": "5WX01234",
    "are-deep-itm-carry-options-enabled": false,
    "are-far-otm-net-options-restricted": true,
    "are-options-values-restricted-to-nlv": false,
    "are-single-tick-expiring-hedges-ignored": false,
    "autotrade-account-type": "",
    "clearing-account-number": "5WX01234",
    "clearing-aggregation-identifier": "",
    "cmta-override": 0,
    "day-trade-count": 0,
    "enhanced-fraud-safeguards-enabled-at": "2016-12-29T22:51:13.729+00:00",
    "equities-margin-calculation-type": "Reg T",
    "ext-crm-id": "",
    "fee-schedule-name": "default",
    "futures-margin-rate-multiplier": "0.0",
    "has-intraday-equities-margin": false,
    "is-aggregated-at-clearing": false,
    "is-ascend-event-contracts-enabled": false,
    "is-closed": false,
    "is-closing-only": false,
    "is-cryptocurrency-closing-only": false,
    "is-cryptocurrency-enabled": true,
    "is-equity-offering-closing-only": false,
    "is-equity-offering-enabled": false,
    "is-frozen": false,
    "is-full-equity-margin-required": false,
    "is-futures-closing-only": false,
    "is-futures-enabled": true,
    "is-futures-intra-day-enabled": false,
    "is-in-day-trade-equity-maintenance-call": false,
    "is-in-margin-call": false,
    "is-non-retail": false,
    "is-pattern-day-trader": false,
    "is-portfolio-margin-enabled": false,
    "is-risk-reducing-only": false,
    "is-roll-the-day-forward-enabled": true,
    "is-small-notional-futures-intra-day-enabled": false,
    "options-level": "No Restrictions",
    "pdt-reset-on": "2023-06-30",
    "short-calls-enabled": true,
    "small-notional-futures-margin-rate-multiplier": "0.0",
    "updated-at": "2023-06-29T20:51:57.617+00:00"
  },
  "context": "/accounts/{account_number}/trading-status"
}

Schema

  • datarequiredobject (TradingStatus)

    Reports whether and how an account may trade. Combines hard gates (`is-closed`, `is-frozen`, `is-closing-only`, `is-risk-reducing-only`) with per-feature toggles, margin-call flags, the live `day-trade-count`, the permitted `options-level`, and margin-calculation settings.

    • idinteger <int32>

      Internal identifier for the trading-status record.

      example: 15

    • account-numberstring

      The account number this trading status applies to.

      example: "5WX01234"

    • are-deep-itm-carry-options-enabledboolean

      Whether carrying deep in-the-money options through expiration is enabled for the account.

      example: false

    • are-far-otm-net-options-restrictedboolean

      Whether far out-of-the-money net options positions are restricted for the account.

      example: true

    • are-options-values-restricted-to-nlvboolean

      Whether options values are capped at the account's net liquidating value.

      example: false

    • are-single-tick-expiring-hedges-ignoredboolean

      Whether single-tick expiring hedges are ignored when computing requirements.

      example: false

    • autotrade-account-typestring

      The autotrade account classification, when the account participates in autotrading.

      example: ""

    • clearing-account-numberstring

      The account number used at the clearing firm.

      example: "5WX01234"

    • clearing-aggregation-identifierstring

      Identifier used to aggregate the account at the clearing firm.

      example: ""

    • cmta-overrideinteger <int32>

      CMTA (Clearing Member Trade Agreement) override value, when set.

      example: 0

    • day-trade-countinteger <int32>

      Live count of day trades used by the account, updated throughout the trading day.

      example: 0

    • enhanced-fraud-safeguards-enabled-atstring <date-time>

      Timestamp at which enhanced fraud safeguards were enabled for the account.

      example: "2016-12-29T22:51:13.729+00:00"

    • equities-margin-calculation-typestring

      How equities margin is computed for the account, for example `Reg T`.

      example: "Reg T"

    • ext-crm-idstring

      External CRM identifier associated with the account.

      example: ""

    • fee-schedule-namestring

      Name of the fee schedule applied to the account.

      example: "default"

    • futures-margin-rate-multiplierstring <decimal>

      The account's intraday futures margin multiplier. When greater than zero, eligible outright futures positions held intraday are margined at the standard requirement divided by this value (for example `2` halves the intraday requirement); `0` means the account has no intraday futures margin and standard requirements apply. The maximum multiplier scales with the account's net liquidating value. Decimal value serialized as a JSON string (e.g. "150.25").

      example: "0.0"

    • has-intraday-equities-marginboolean

      Whether intraday equities margin treatment is enabled for the account.

      example: false

    • is-aggregated-at-clearingboolean

      Whether the account is aggregated with others at the clearing firm.

      example: false

    • is-ascend-event-contracts-enabledboolean

      Whether Ascend event contracts are enabled for the account.

      example: false

    • is-closedboolean

      Whether the account is closed. When true, trading is blocked entirely.

      example: false

    • is-closing-onlyboolean

      Whether the account is restricted to closing trades only. When true, only orders that close existing positions are allowed.

      example: false

    • is-cryptocurrency-closing-onlyboolean

      Whether cryptocurrency activity is restricted to closing trades only.

      example: false

    • is-cryptocurrency-enabledboolean

      Whether the account may trade cryptocurrency.

      example: true

    • is-equity-offering-closing-onlyboolean

      Whether equity offering activity is restricted to closing trades only.

      example: false

    • is-equity-offering-enabledboolean

      Whether the account may participate in equity offerings.

      example: false

    • is-frozenboolean

      Whether the account is frozen. When true, trading is blocked entirely.

      example: false

    • is-full-equity-margin-requiredboolean

      Whether full equity margin is required for the account.

      example: false

    • is-futures-closing-onlyboolean

      Whether futures activity is restricted to closing trades only.

      example: false

    • is-futures-enabledboolean

      Whether the account may trade futures.

      example: true

    • is-futures-intra-day-enabledboolean

      Whether intraday futures trading is enabled for the account.

      example: false

    • is-in-day-trade-equity-maintenance-callboolean

      Whether the account has an outstanding day-trade equity maintenance call.

      example: false

    • is-in-margin-callboolean

      Whether the account has an outstanding margin call.

      example: false

    • is-non-retailboolean

      Whether the account is classified as non-retail.

      example: false

    • is-pattern-day-traderboolean

      Whether pattern day trader (PDT) rules apply to the account.

      example: false

    • is-portfolio-margin-enabledboolean

      Whether portfolio margin is enabled for the account.

      example: false

    • is-risk-reducing-onlyboolean

      Whether the account is restricted to risk-reducing (de-risking) activity only.

      example: false

    • is-roll-the-day-forward-enabledboolean

      Whether roll-the-day-forward is enabled for the account.

      example: true

    • is-small-notional-futures-intra-day-enabledboolean

      Whether intraday trading of small-notional futures is enabled for the account.

      example: false

    • options-levelstring

      Highest options strategy tier permitted for the account, for example `No Restrictions`.

      example: "No Restrictions"

    • pdt-reset-onstring <date>

      Date on which the account's pattern day trader status resets, when applicable.

      example: "2023-06-30"

    • short-calls-enabledboolean

      Whether the account may write (sell) short call options.

      example: true

    • small-notional-futures-margin-rate-multiplierstring <decimal>

      Intraday margin multiplier applied to small-notional futures products (for example micro contracts), with the same semantics as `futures-margin-rate-multiplier`: the intraday requirement is the standard requirement divided by this value, and `0` disables intraday treatment. Decimal value serialized as a JSON string (e.g. "150.25").

      example: "0.0"

    • updated-atstring <date-time>

      Timestamp at which the trading status was last updated.

      example: "2023-06-29T20:51:57.617+00:00"

  • contextrequiredstring

    example: "/accounts/{account_number}/trading-status"

401Missing or expired access token, or a missing/malformed `User-Agent` header. Send a valid `Authorization: Bearer <token>` (tokens last 15 minutes) and a `User-Agent` in the form `<product>/<version>`. Note that `User-Agent` rejections are returned as an HTML error page from the edge, not the JSON error envelope.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 authority does not permit reading this account's trading status.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.

404No account exists for the supplied `account_number`.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.

429Request rate exceeded. Back off exponentially and reduce request frequency.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.