Skip to main content
POST
Check risk gates for an order without placing it

Body

application/json

Request to check risk gates for an order WITHOUT placing it (Slice 1 / C2).

Mirrors the shape of a chart-lab order intent. BL-02 runs the same current deterministic Guardian adapter used immediately before submit for single orders. Multi-leg broker strategies remain fail-closed pending OR-03.

symbol
string
required

Ticker symbol

side
enum<string>
required

Order side

Available options:
buy,
sell
qty
number
required

Order quantity

order_type
enum<string>
required

Order type

Available options:
market,
limit,
stop,
stop_limit
instrument_type
enum<string>
default:equity
Available options:
equity,
option
contract_symbol
string | null

OCC contract identity required for an option review

Pattern: ^[A-Z]{1,6}\d{6}[CP]\d{8}$
limit_price
number | null

Limit price when applicable

stop_price
number | null

Stop trigger when applicable

reference_price
number | null

Current quote for market-order risk

Required range: x > 0
strategy
enum<string>
default:single
Available options:
single,
bracket,
oco,
oto
take_profit_price
number | null
Required range: x > 0
stop_loss_price
number | null
Required range: x > 0
time_in_force
enum<string>
default:day
Available options:
day,
gtc
idempotency_key
string | null

Stable chart intent identity; required to issue an OR-03 submit approval

Required string length: 1 - 128
source
string | null

Origin tag; a value starting with 'chart' triggers the paper-lock rule

order_handoff_id
string | null

Durable OR-06 Review lineage; valid only for chart_agent_proposal

Pattern: ^handoff_[a-f0-9]{24}$

Response

Successful Response

Result of a non-placing risk-gate check (Slice 1 / C2).

passed
boolean
required

True when no gate blocked the order

effective_trading_mode
string
required

The trading mode that would be used (from the user profile): 'paper' or 'live'

blocked_reasons
string[]

Human-readable reasons the order would be blocked (empty when passed)

approval_id
string<uuid> | null

Server-issued approval bound to the immutable intent; absent when blocked

intent_hash
string | null
Pattern: ^[a-f0-9]{64}$
approval_expires_at
string<date-time> | null
risk_decision_id
string | null
Pattern: ^[a-f0-9]{64}$
risk_policy_version
string | null
order_handoff_id
string | null
Pattern: ^handoff_[a-f0-9]{24}$
order_review
Order Review · object | null

Immutable owner-scoped executable review; absent for legacy advisory calls