operationId: getFirmAccountRiskState
Requires accounts:read. A firm API key is automatically scoped to its firm.
Response — 200 OK
Fields to check
To move the trailing cap, use Set max loss limit. This GET does not change anything.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
GET /v1/firm-control/accounts//risk-state — ingest live max-loss floor, caps, peaks, and lockout for one account.
GET /v1/firm-control/accounts/{account_id}/risk-state
operationId: getFirmAccountRiskState
Requires accounts:read. A firm API key is automatically scoped to its firm.
curl -sS "$TRADARA_BASE_URL/v1/firm-control/accounts/$ACCOUNT_ID/risk-state" \
-H "X-Tradara-Api-Key: $TRADARA_API_KEY"
200 OK{
"item": {
"account_id": "4f26b5a3-4dea-4e3a-aabd-6c1459fb6fab",
"max_drawdown_mode": "realtime_balance",
"max_drawdown_value": "1000",
"max_drawdown_limit": "100",
"max_drawdown_lock_ceiling": "25100.00",
"starting_balance": "25000",
"balance": "24111.25",
"equity": "24111.25",
"highest_realized_balance": "25011.25",
"max_loss_limit_trigger": "24011.25",
"daily_loss_limit_trigger": "23750",
"is_locked": false,
"user_risk_halt": false,
"updated_at": "2026-09-18T12:00:00Z"
}
}
| Field | What to verify |
|---|---|
max_drawdown_mode | Static vs trailing, and whether the floor uses balance or equity. |
max_drawdown_value | Dollar allowance (for example 1000 for a $1,000 max loss). |
max_drawdown_limit | Trailing cap as an offset from starting balance. "0" is starting balance; "100" is starting balance plus $100. Omitted when the trailing floor is uncapped or the mode is static. |
max_drawdown_lock_ceiling | Resolved dollar cap (starting_balance + max_drawdown_limit). |
max_loss_limit_trigger | Live floor. This is the line risk-engine enforces. For trailing modes it is min(peak − allowance, ceiling) when a cap is set. |
daily_loss_limit_trigger | Live daily-loss floor, when the plan has a DLL. |
is_locked / lockout_reason | Whether order entry is currently blocked. |
| HTTP | Meaning |
|---|---|
403 | Caller lacks accounts:read. |
404 | Account is unknown or not in your firm. |
502 | Could not reach accounts or risk-engine. |
503 | Risk-engine has not loaded this account yet. Retry shortly after create or unlock. |
