Skip to main content
GET
Read the trader's personal risk settings for an account.

Query Parameters

account_id
string<uuid>
required

UUID of the trading account.

Response

Current personal risk settings

Trader-owned risk configuration, plus the firm bounds it must respect and the live counters the UI renders.

account_id
string<uuid>
required
auto_bracket_enabled
boolean
required
auto_stop_units
string
required

Unit for the two values above: "dollars" (position P&L) or "ticks" (raw price distance on the contract's tick grid).

blocked_symbols
string[]
required
bracket_mode
string
required
daily_loss_action
string
required
daily_loss_fired_today
boolean
required

True when the loss limit already fired this trading day: positions were flattened and NEW entries are rejected until the next session. Editing the limit does not clear it.

daily_loss_trailing
boolean
required
daily_loss_trailing_type
string
required
daily_profit_action
string
required
daily_profit_fired_today
boolean
required

True when the profit target already fired this trading day. Unlike the loss limit, this does not gate new entries.

day_boundary_label
string
required

Human-readable boundary for day_clock, e.g. "17:00 CT" or "00:00 ET".

day_clock
string
required

Which clock this account's day-scoped limits and locks run on: cme_session rolls at the Globex open, continuous at the firm's configured 24/7 day boundary. The UI needs this to avoid promising a crypto trader a "next session" that never comes.

est_flatten_fees
number<double>
required

Estimated cost of closing the current open position right now (exchange fees + commission across all open contracts; 0 when flat). Enforcement evaluates equity MINUS this ("equity if flattened now", see check_rules_for_account) — any "remaining before the limit" display must subtract it too, or the trader reads more headroom than the engine will give them (Discord 26 Aug: breaches "~$100 early").

firm_policy
any
required
settings_locked
boolean
required
symbol_contract_limits
object
required
trades_this_week
integer<int32>
required
trades_today
integer<int32>
required
trading_window_action
string
required

Outside every window: block (refuse new entries only) or flatten (also close positions + cancel orders once at the window close).

trading_window_open
boolean
required

True while new entries are allowed by the windows (always true when none are set).

trading_windows
any[]
required

Recurring hours during which new entries are allowed (empty = no restriction). Each: {days:[1..7 ISO], start:"HH:MM", end:"HH:MM", timezone:IANA, label?}; end before start is an overnight window.

auto_bracket_stop_loss
number<double> | null
auto_bracket_take_profit
number<double> | null
auto_breakeven_trigger
number<double> | null
daily_loss_floor
number<double> | null

Equity level at which the limit fires — what a gauge should point at.

daily_loss_limit
number<double> | null
daily_loss_trailing_peak
number<double> | null

Session peak the trailing limit is measured from (trailing mode only).

daily_profit_target
number<double> | null
max_trades_per_day
integer<int32> | null
max_trades_per_week
integer<int32> | null
pending
any | null
settings_locked_until
string | null

While set and in the future, no field above can be loosened.

trades_remaining_today
integer<int32> | null
trades_remaining_week
integer<int32> | null
trading_window_active_label
string | null

Label of the window that is open right now, if it has one.

trading_window_closes_at
string | null

RFC 3339 close of the current open window (while open).

trading_window_opens_at
string | null

RFC 3339 start of the next window (while closed).

trading_window_opens_at_label
string | null

trading_window_opens_at phrased in the window's own zone, e.g. "Thu 09:30 EDT".

trailing_stop_distance
number<double> | null