API Reference / Account Status
Get Account Trading Status
getAccountsAccountNumberTradingStatus/accounts/{account_number}/trading-statusBase 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'import requests
url = "https://api.cert.tastyworks.com/accounts/5WX01234/trading-status"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"User-Agent": "tastytrade-docs-example/1.0",
}
resp = requests.get(url, headers=headers)
print(resp.status_code, resp.json())const resp = await fetch("https://api.cert.tastyworks.com/accounts/5WX01234/trading-status", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"User-Agent": "tastytrade-docs-example/1.0",
},
})
const data = await resp.json()
console.log(resp.status, data)package main
import (
"net/http"
"io"
"fmt"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.cert.tastyworks.com/accounts/5WX01234/trading-status", nil)
req.Header.Set("Authorization", "Bearer YOUR_ACCESS_TOKEN")
req.Header.Set("User-Agent", "tastytrade-docs-example/1.0")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(resp.Status, string(out))
}import java.net.URI;
import java.net.http.*;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.cert.tastyworks.com/accounts/5WX01234/trading-status"))
.header("Authorization", "Bearer YOUR_ACCESS_TOKEN")
.header("User-Agent", "tastytrade-docs-example/1.0")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode() + " " + resp.body());Parameters
| Name | In | Type | Description |
|---|---|---|---|
| account_number* | path | string | e.g. "5WX01234" |
Responses
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:
15account-numberstringThe account number this trading status applies to.
example:
"5WX01234"are-deep-itm-carry-options-enabledbooleanWhether carrying deep in-the-money options through expiration is enabled for the account.
example:
falseare-far-otm-net-options-restrictedbooleanWhether far out-of-the-money net options positions are restricted for the account.
example:
trueare-options-values-restricted-to-nlvbooleanWhether options values are capped at the account's net liquidating value.
example:
falseare-single-tick-expiring-hedges-ignoredbooleanWhether single-tick expiring hedges are ignored when computing requirements.
example:
falseautotrade-account-typestringThe autotrade account classification, when the account participates in autotrading.
example:
""clearing-account-numberstringThe account number used at the clearing firm.
example:
"5WX01234"clearing-aggregation-identifierstringIdentifier used to aggregate the account at the clearing firm.
example:
""cmta-overrideinteger <int32>CMTA (Clearing Member Trade Agreement) override value, when set.
example:
0day-trade-countinteger <int32>Live count of day trades used by the account, updated throughout the trading day.
example:
0enhanced-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-typestringHow equities margin is computed for the account, for example `Reg T`.
example:
"Reg T"ext-crm-idstringExternal CRM identifier associated with the account.
example:
""fee-schedule-namestringName 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-marginbooleanWhether intraday equities margin treatment is enabled for the account.
example:
falseis-aggregated-at-clearingbooleanWhether the account is aggregated with others at the clearing firm.
example:
falseis-ascend-event-contracts-enabledbooleanWhether Ascend event contracts are enabled for the account.
example:
falseis-closedbooleanWhether the account is closed. When true, trading is blocked entirely.
example:
falseis-closing-onlybooleanWhether the account is restricted to closing trades only. When true, only orders that close existing positions are allowed.
example:
falseis-cryptocurrency-closing-onlybooleanWhether cryptocurrency activity is restricted to closing trades only.
example:
falseis-cryptocurrency-enabledbooleanWhether the account may trade cryptocurrency.
example:
trueis-equity-offering-closing-onlybooleanWhether equity offering activity is restricted to closing trades only.
example:
falseis-equity-offering-enabledbooleanWhether the account may participate in equity offerings.
example:
falseis-frozenbooleanWhether the account is frozen. When true, trading is blocked entirely.
example:
falseis-full-equity-margin-requiredbooleanWhether full equity margin is required for the account.
example:
falseis-futures-closing-onlybooleanWhether futures activity is restricted to closing trades only.
example:
falseis-futures-enabledbooleanWhether the account may trade futures.
example:
trueis-futures-intra-day-enabledbooleanWhether intraday futures trading is enabled for the account.
example:
falseis-in-day-trade-equity-maintenance-callbooleanWhether the account has an outstanding day-trade equity maintenance call.
example:
falseis-in-margin-callbooleanWhether the account has an outstanding margin call.
example:
falseis-non-retailbooleanWhether the account is classified as non-retail.
example:
falseis-pattern-day-traderbooleanWhether pattern day trader (PDT) rules apply to the account.
example:
falseis-portfolio-margin-enabledbooleanWhether portfolio margin is enabled for the account.
example:
falseis-risk-reducing-onlybooleanWhether the account is restricted to risk-reducing (de-risking) activity only.
example:
falseis-roll-the-day-forward-enabledbooleanWhether roll-the-day-forward is enabled for the account.
example:
trueis-small-notional-futures-intra-day-enabledbooleanWhether intraday trading of small-notional futures is enabled for the account.
example:
falseoptions-levelstringHighest 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-enabledbooleanWhether the account may write (sell) short call options.
example:
truesmall-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"
contextrequiredstringexample:
"/accounts/{account_number}/trading-status"
Example response
{
"error": {
"code": "unauthorized",
"message": "No valid access token was provided; access tokens expire after 15 minutes."
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "not_permitted",
"message": "User not permitted access"
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "string",
"message": "string",
"errors": [
{
"code": "string",
"message": "string",
"domain": "string"
}
]
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "string",
"message": "string",
"errors": [
{
"code": "string",
"message": "string",
"domain": "string"
}
]
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Related
- Rate-limit class:
read· idempotent — Rate limits & backoff - Error reference — codes, causes, and fixes
Agents: this page is also Markdown (with the embedded OpenAPI definition) — append .md or send Accept: text/markdown. Index at /llms.txt.