# Get all accounts of current user with risk status

`GET /accounts/with-risk-status`

Every account of the caller as a full record — challenge, phase, status, balances and enabled options — with its risk snapshot attached.

- Authenticated with an API key, only accounts that have `api_trading` enabled are included.
- Interactive sessions share one budget here with the risk-status endpoints; an API key is limited by its own read limits instead.

## Authorization

bearer: http · bearer (required). Personal API key, prefixed with `usk_`.

## Parameters



## Example · cURL

```bash
curl --request GET 'https://api.upscale.trade/accounts/with-risk-status' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

## Example · JavaScript

```javascript
const response = await fetch("https://api.upscale.trade/accounts/with-risk-status", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
});
console.log(response.status, await response.text());
```

## Example · Python

```python
import requests

response = requests.request(
    "GET",
    "https://api.upscale.trade/accounts/with-risk-status",
    headers={"Accept":"application/json","Authorization":"Bearer YOUR_API_KEY"},
    timeout=30,
)
print(response.status_code, response.text)
```

## Response 401

**401**  — Unauthorized

## Response 429

**429**  — Rate limit of the API key exceeded (`api_key_rate_limit_exceeded`). `Retry-After` says when to come back; the body carries the bucket (`read` / `write`), the window that tripped, its limit and `retryAt`.

## Response default · AccountWithRiskStatusResponse

**default** application/json — Response

Body[0].challengeId must be array Body[0].profitTarget must be array Body[0].maxDailyDrawdown must be array

Type: object[]

[]Schema: AccountWithRiskStatusResponse

[]Type: object

[]Required fields: accountId, userId, paymentId, challengeId, tournamentId, type, initialPhase, currentPhase, status, profitTarget, maxDailyDrawdown, maxTotalDrawdown, maxTrailingTotalDrawdown, drawdownBase, maxDrawdownStop, minTradingDays, suspendedUntil, accountBalance, initialAccountBalance, maxEquity, dayStartEquity, profitableDays, prevPeriodProfitableDays, createdAt, failureReason, fundedAt, failedAt, transitionReviewAt, currentWithdrawalPeriodStartedAt, fundedLimitUnlockedAt, maxWithdrawalAmount, payoutBaselineBalance, isActiveWithdrawalInPeriod, profitSplitPercent, debt, dailyDrawdownProtection, aiFailedReport, apiTrading, availableMarkets, antifraudStatus, tradingLockReason, tournament, restore, riskStatus

[]Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string[]; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string[]; required), maxDailyDrawdown (string[]; required), maxTotalDrawdown (string[]; required), maxTrailingTotalDrawdown (string[]; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number[]; required), suspendedUntil (string · date-time · nullable; required), accountBalance (string · int32; required), initialAccountBalance (string · int32; required), maxEquity (string · int32 · nullable; required), dayStartEquity (string · int32 · nullable; required), profitableDays (number; required), prevPeriodProfitableDays (number; required), createdAt (string · date-time; required), failureReason (string · enum · nullable; required), fundedAt (string · date-time · nullable; required), failedAt (string · date-time · nullable; required), transitionReviewAt (string · date-time · nullable; required), currentWithdrawalPeriodStartedAt (string · date-time · nullable; required), fundedLimitUnlockedAt (string · date-time · nullable; required), maxWithdrawalAmount (string · int32; required), payoutBaselineBalance (string · int32; required), isActiveWithdrawalInPeriod (boolean; required), profitSplitPercent (number; required), debt (string · int32; required), dailyDrawdownProtection (object · nullable; required), aiFailedReport (boolean; required), apiTrading (boolean; required), availableMarkets (string · enum; required), antifraudStatus (string · enum; required), tradingLockReason (string[]; required), tournament (object · nullable; required), restore (object; required), riskStatus (object; required)

- []accountId (string · uuid; required)

[]accountId example: 00000000-0000-4000-8000-000000000000

[]accountId.Type: string · uuid

[]accountId.Trader account identifier.

[]accountId.format: uuid

[]accountId.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []userId (string · uuid; required)

[]userId example: 00000000-0000-4000-8000-000000000000

[]userId.Type: string · uuid

[]userId.Owner of the account.

[]userId.format: uuid

[]userId.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []paymentId (string · uuid · nullable; required)

[]paymentId example: 00000000-0000-4000-8000-000000000000

[]paymentId.Type: string · uuid · nullable

[]paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.

[]paymentId.format: uuid

[]paymentId.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []challengeId (string[]; required)

[]challengeId.Type: string[]

[]challengeId.Challenge the account runs. Null for demo and tournament accounts.

[]challengeId.[]Type: string

- []tournamentId (string · uuid · nullable; required)

[]tournamentId example: 00000000-0000-4000-8000-000000000000

[]tournamentId.Type: string · uuid · nullable

[]tournamentId.Tournament the account was created for. Null outside tournament accounts.

[]tournamentId.format: uuid

[]tournamentId.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []type (string · enum; required)

[]type example: demo

[]type.Type: string · enum

[]type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.

[]type.Allowed values: ["demo","real","tournament"]

- []initialPhase (string; required)

[]initialPhase example: active_evaluation

[]initialPhase.Type: string

[]initialPhase.Phase the account started in.

- []currentPhase (string; required)

[]currentPhase example: active_evaluation

[]currentPhase.Type: string

[]currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.

- []status (string · enum; required)

[]status example: active

[]status.Type: string · enum

[]status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.

[]status.Allowed values: ["pending","active","failed","frozen","suspended","closed","trading_locked_by_funded_limit","trading_locked_by_instant_funded_limit","phase_transition_pending","transition_review"]

- []profitTarget (string[]; required)

[]profitTarget.Type: string[]

[]profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.

[]profitTarget.[]Type: string

- []maxDailyDrawdown (string[]; required)

[]maxDailyDrawdown.Type: string[]

[]maxDailyDrawdown.Daily drawdown limit of the current phase, in percent of the day-start equity. Null when the phase has no daily limit.

[]maxDailyDrawdown.[]Type: string

- []maxTotalDrawdown (string[]; required)

[]maxTotalDrawdown.Type: string[]

[]maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.

[]maxTotalDrawdown.[]Type: string

- []maxTrailingTotalDrawdown (string[]; required)

[]maxTrailingTotalDrawdown.Type: string[]

[]maxTrailingTotalDrawdown.Trailing drawdown limit of the current phase, in percent of the highest equity reached. Null when the phase has no trailing limit.

[]maxTrailingTotalDrawdown.[]Type: string

- []drawdownBase (string · int32 · nullable; required)

[]drawdownBase example: 1000000000

[]drawdownBase.Type: string · int32 · nullable

[]drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.

[]drawdownBase.format: int32

[]drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$

- []maxDrawdownStop (string · int32 · nullable; required)

[]maxDrawdownStop example: 1000000000

[]maxDrawdownStop.Type: string · int32 · nullable

[]maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.

[]maxDrawdownStop.format: int32

[]maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$

- []minTradingDays (number[]; required)

[]minTradingDays.Type: number[]

[]minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.

[]minTradingDays.[]Type: number

- []suspendedUntil (string · date-time · nullable; required)

[]suspendedUntil example: 2023-10-01T00:00:00.000Z

[]suspendedUntil.Type: string · date-time · nullable

[]suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.

[]suspendedUntil.format: date-time

- []accountBalance (string · int32; required)

[]accountBalance example: 1000000000

[]accountBalance.Type: string · int32

[]accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.

[]accountBalance.format: int32

[]accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$

- []initialAccountBalance (string · int32; required)

[]initialAccountBalance example: 1000000000

[]initialAccountBalance.Type: string · int32

[]initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.

[]initialAccountBalance.format: int32

[]initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$

- []maxEquity (string · int32 · nullable; required)

[]maxEquity example: 1000000000

[]maxEquity.Type: string · int32 · nullable

[]maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.

[]maxEquity.format: int32

[]maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- []dayStartEquity (string · int32 · nullable; required)

[]dayStartEquity example: 1000000000

[]dayStartEquity.Type: string · int32 · nullable

[]dayStartEquity.Equity the current trading day opened at, fp9 raw.

[]dayStartEquity.format: int32

[]dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- []profitableDays (number; required)

[]profitableDays example: 0

[]profitableDays.Type: number

[]profitableDays.Profitable days counted in the current withdrawal period.

- []prevPeriodProfitableDays (number; required)

[]prevPeriodProfitableDays example: 0

[]prevPeriodProfitableDays.Type: number

[]prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.

- []createdAt (string · date-time; required)

[]createdAt example: 2026-05-01T12:30:00.000Z

[]createdAt.Type: string · date-time

[]createdAt.When the account was created.

[]createdAt.format: date-time

- []failureReason (string · enum · nullable; required)

[]failureReason example: max_total_drawdown

[]failureReason.Type: string · enum · nullable

[]failureReason.Rule that failed the account. Null while it has not failed.

[]failureReason.Allowed values: ["max_total_drawdown","max_trailing_total_drawdown","max_daily_drawdown",null]

- []fundedAt (string · date-time · nullable; required)

[]fundedAt example: 2026-05-01T12:30:00.000Z

[]fundedAt.Type: string · date-time · nullable

[]fundedAt.When the account reached the funded phase. Null before that.

[]fundedAt.format: date-time

- []failedAt (string · date-time · nullable; required)

[]failedAt example: 2026-05-01T12:30:00.000Z

[]failedAt.Type: string · date-time · nullable

[]failedAt.When the account failed. Null while it has not.

[]failedAt.format: date-time

- []transitionReviewAt (string · date-time · nullable; required)

[]transitionReviewAt example: 2026-05-01T12:30:00.000Z

[]transitionReviewAt.Type: string · date-time · nullable

[]transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.

[]transitionReviewAt.format: date-time

- []currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)

[]currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z

[]currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable

[]currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.

[]currentWithdrawalPeriodStartedAt.format: date-time

- []fundedLimitUnlockedAt (string · date-time · nullable; required)

[]fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z

[]fundedLimitUnlockedAt.Type: string · date-time · nullable

[]fundedLimitUnlockedAt.When the account last came out of a managed-capital lock; trading days of the period are counted from here. Null when it was never locked.

[]fundedLimitUnlockedAt.format: date-time

- []maxWithdrawalAmount (string · int32; required)

[]maxWithdrawalAmount example: 1000000000

[]maxWithdrawalAmount.Type: string · int32

[]maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.

[]maxWithdrawalAmount.format: int32

[]maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$

- []payoutBaselineBalance (string · int32; required)

[]payoutBaselineBalance example: 1000000000

[]payoutBaselineBalance.Type: string · int32

[]payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.

[]payoutBaselineBalance.format: int32

[]payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$

- []isActiveWithdrawalInPeriod (boolean; required)

[]isActiveWithdrawalInPeriod example: true

[]isActiveWithdrawalInPeriod.Type: boolean

[]isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.

- []profitSplitPercent (number; required)

[]profitSplitPercent example: 80

[]profitSplitPercent.Type: number

[]profitSplitPercent.Share of the profit paid out to the trader, in percent.

- []debt (string · int32; required)

[]debt example: 1000000000

[]debt.Type: string · int32

[]debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.

[]debt.format: int32

[]debt.pattern: ^(?:-?[1-9][0-9]*|0)$

- []dailyDrawdownProtection (object · nullable; required)

[]dailyDrawdownProtection example: {
  "usedAt": "2026-05-01T12:30:00.000Z"
}

[]dailyDrawdownProtection.Type: object · nullable

[]dailyDrawdownProtection.Required fields: usedAt

[]dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)

[]dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.

- []dailyDrawdownProtection.usedAt (string · date-time · nullable; required)

[]dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z

[]dailyDrawdownProtection.usedAt.Type: string · date-time · nullable

[]dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.

[]dailyDrawdownProtection.usedAt.format: date-time

- []aiFailedReport (boolean; required)

[]aiFailedReport example: true

[]aiFailedReport.Type: boolean

[]aiFailedReport.Whether an automated report has been produced for the failure of this account.

- []apiTrading (boolean; required)

[]apiTrading example: true

[]apiTrading.Type: boolean

[]apiTrading.Whether the account may be traded with a personal API key. Requests made with a key are refused on accounts where this is false.

- []availableMarkets (string · enum; required)

[]availableMarkets example: crypto

[]availableMarkets.Type: string · enum

[]availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.

[]availableMarkets.Allowed values: ["crypto","rwa","all"]

- []antifraudStatus (string · enum; required)

[]antifraudStatus example: normal

[]antifraudStatus.Type: string · enum

[]antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.

[]antifraudStatus.Allowed values: ["normal","test_account","balance_exceeded","manually_flagged","manually_cleared"]

- []tradingLockReason (string[]; required)

[]tradingLockReason example: [
  "string"
]

[]tradingLockReason.Type: string[]

[]tradingLockReason.Why trading is locked: `auto` for the managed-capital limit hit on promotion, otherwise the reason an administrator gave. Null when the account is not locked.

[]tradingLockReason.[]Type: string

- []tournament (object · nullable; required)

[]tournament example: {
  "id": "00000000-0000-4000-8000-000000000000",
  "status": "active",
  "startDate": "2026-05-01T12:30:00.000Z",
  "endDate": "2026-05-01T12:30:00.000Z",
  "finalRecalcDone": true
}

[]tournament.Type: object · nullable

[]tournament.Required fields: id, status, startDate, endDate, finalRecalcDone

[]tournament.Required field types: id (string · uuid; required), status (string · enum; required), startDate (string · date-time; required), endDate (string · date-time; required), finalRecalcDone (boolean; required)

[]tournament.Tournament the account belongs to. Null for accounts outside a tournament.

- []tournament.id (string · uuid; required)

[]tournament.id example: 00000000-0000-4000-8000-000000000000

[]tournament.id.Type: string · uuid

[]tournament.id.Tournament identifier.

[]tournament.id.format: uuid

[]tournament.id.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []tournament.status (string · enum; required)

[]tournament.status example: active

[]tournament.status.Type: string · enum

[]tournament.status.Stage the tournament is in.

[]tournament.status.Allowed values: ["active","completed"]

- []tournament.startDate (string · date-time; required)

[]tournament.startDate example: 2026-05-01T12:30:00.000Z

[]tournament.startDate.Type: string · date-time

[]tournament.startDate.When the tournament opens for trading.

[]tournament.startDate.format: date-time

- []tournament.endDate (string · date-time; required)

[]tournament.endDate example: 2026-05-01T12:30:00.000Z

[]tournament.endDate.Type: string · date-time

[]tournament.endDate.When the tournament closes.

[]tournament.endDate.format: date-time

- []tournament.finalRecalcDone (boolean; required)

[]tournament.finalRecalcDone example: true

[]tournament.finalRecalcDone.Type: boolean

[]tournament.finalRecalcDone.Whether final standings have been recomputed after the close.

- []restore (object; required)

[]restore example: {
  "restoreAvailable": true,
  "restoreAvailableUntil": "2026-05-01T12:30:00.000Z"
}

[]restore.Type: object

[]restore.Required fields: restoreAvailable, restoreAvailableUntil

[]restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)

[]restore.Whether a failed funded account can be brought back, and until when.

- []restore.restoreAvailable (boolean; required)

[]restore.restoreAvailable example: true

[]restore.restoreAvailable.Type: boolean

[]restore.restoreAvailable.Whether the failed funded account can be restored right now.

- []restore.restoreAvailableUntil (string · date-time · nullable; required)

[]restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z

[]restore.restoreAvailableUntil.Type: string · date-time · nullable

[]restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.

[]restore.restoreAvailableUntil.format: date-time

- []riskStatus (object; required)

[]riskStatus example: {
  "accountId": "00000000-0000-4000-8000-000000000000",
  "tradingDays": 0,
  "currentBalance": "1000000000",
  "currentEquity": "1000000000",
  "dayStartEquity": "1000000000",
  "maxEquity": "1000000000",
  "periodStartEquity": "1000000000",
  "maxPeriodDailyEquityDelta": "1000000000",
  "maxPeriodDailyEquityDeltaAt": "2026-05-01T12:30:00.000Z",
  "consistencyRuleApplies": true,
  "consistencyRuleMet": true,
  "consistencyRuleRatio": "1000000000",
  "consistencyRuleLimit": "1000000000",
  "payoutBaselineBalance": "1000000000",
  "isPayoutBaselineRequirementMet": true
}

[]riskStatus.Type: object

[]riskStatus.Required fields: accountId, tradingDays, currentBalance, currentEquity, dayStartEquity, maxEquity, periodStartEquity, maxPeriodDailyEquityDelta, maxPeriodDailyEquityDeltaAt, consistencyRuleApplies, consistencyRuleMet, consistencyRuleRatio, consistencyRuleLimit, payoutBaselineBalance, isPayoutBaselineRequirementMet

[]riskStatus.Required field types: accountId (string · uuid; required), tradingDays (number; required), currentBalance (string · int32; required), currentEquity (string · int32; required), dayStartEquity (string · int32; required), maxEquity (string · int32 · nullable; required), periodStartEquity (string · int32 · nullable; required), maxPeriodDailyEquityDelta (string · int32 · nullable; required), maxPeriodDailyEquityDeltaAt (string · date-time · nullable; required), consistencyRuleApplies (boolean; required), consistencyRuleMet (boolean · nullable; required), consistencyRuleRatio (string · int32 · nullable; required), consistencyRuleLimit (string · int32; required), payoutBaselineBalance (string · int32; required), isPayoutBaselineRequirementMet (boolean; required)

[]riskStatus.Live risk snapshot of this account, the same payload the risk-status endpoints return.

- []riskStatus.accountId (string · uuid; required)

[]riskStatus.accountId example: 00000000-0000-4000-8000-000000000000

[]riskStatus.accountId.Type: string · uuid

[]riskStatus.accountId.Trader account the snapshot belongs to.

[]riskStatus.accountId.format: uuid

[]riskStatus.accountId.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []riskStatus.tradingDays (number; required)

[]riskStatus.tradingDays example: 0

[]riskStatus.tradingDays.Type: number

[]riskStatus.tradingDays.Number of days the account has traded on — counted against the minimum trading days of the challenge.

- []riskStatus.currentBalance (string · int32; required)

[]riskStatus.currentBalance example: 1000000000

[]riskStatus.currentBalance.Type: string · int32

[]riskStatus.currentBalance.Account balance without the unrealised pnl of open positions, fp9 raw.

[]riskStatus.currentBalance.format: int32

[]riskStatus.currentBalance.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.currentEquity (string · int32; required)

[]riskStatus.currentEquity example: 1000000000

[]riskStatus.currentEquity.Type: string · int32

[]riskStatus.currentEquity.Balance plus the unrealised pnl of open positions, fp9 raw. This is what drawdown rules are measured against.

[]riskStatus.currentEquity.format: int32

[]riskStatus.currentEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.dayStartEquity (string · int32; required)

[]riskStatus.dayStartEquity example: 1000000000

[]riskStatus.dayStartEquity.Type: string · int32

[]riskStatus.dayStartEquity.Equity the current trading day opened at, fp9 raw — the base of the daily drawdown limit.

[]riskStatus.dayStartEquity.format: int32

[]riskStatus.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.maxEquity (string · int32 · nullable; required)

[]riskStatus.maxEquity example: 1000000000

[]riskStatus.maxEquity.Type: string · int32 · nullable

[]riskStatus.maxEquity.Highest equity the account has ever reached, fp9 raw — the base of the trailing drawdown. Null before the first trade.

[]riskStatus.maxEquity.format: int32

[]riskStatus.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.periodStartEquity (string · int32 · nullable; required)

[]riskStatus.periodStartEquity example: 1000000000

[]riskStatus.periodStartEquity.Type: string · int32 · nullable

[]riskStatus.periodStartEquity.Equity the current withdrawal period opened at, fp9 raw. Null while no period is running.

[]riskStatus.periodStartEquity.format: int32

[]riskStatus.periodStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.maxPeriodDailyEquityDelta (string · int32 · nullable; required)

[]riskStatus.maxPeriodDailyEquityDelta example: 1000000000

[]riskStatus.maxPeriodDailyEquityDelta.Type: string · int32 · nullable

[]riskStatus.maxPeriodDailyEquityDelta.Largest single-day equity gain inside the current period, fp9 raw — the numerator of the consistency rule. Null while no day has closed in profit.

[]riskStatus.maxPeriodDailyEquityDelta.format: int32

[]riskStatus.maxPeriodDailyEquityDelta.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.maxPeriodDailyEquityDeltaAt (string · date-time · nullable; required)

[]riskStatus.maxPeriodDailyEquityDeltaAt example: 2026-05-01T12:30:00.000Z

[]riskStatus.maxPeriodDailyEquityDeltaAt.Type: string · date-time · nullable

[]riskStatus.maxPeriodDailyEquityDeltaAt.Day that produced `maxPeriodDailyEquityDelta`. Null together with it.

[]riskStatus.maxPeriodDailyEquityDeltaAt.format: date-time

- []riskStatus.consistencyRuleApplies (boolean; required)

[]riskStatus.consistencyRuleApplies example: true

[]riskStatus.consistencyRuleApplies.Type: boolean

[]riskStatus.consistencyRuleApplies.Whether the consistency rule is part of the rules of this account in its current phase.

- []riskStatus.consistencyRuleMet (boolean · nullable; required)

[]riskStatus.consistencyRuleMet example: true

[]riskStatus.consistencyRuleMet.Type: boolean · nullable

[]riskStatus.consistencyRuleMet.Whether the rule is currently satisfied. Null while the period is not in profit and the ratio cannot be computed.

- []riskStatus.consistencyRuleRatio (string · int32 · nullable; required)

[]riskStatus.consistencyRuleRatio example: 1000000000

[]riskStatus.consistencyRuleRatio.Type: string · int32 · nullable

[]riskStatus.consistencyRuleRatio.Share of the period profit made on its best day, fp9 raw fraction. Null together with `consistencyRuleMet`.

[]riskStatus.consistencyRuleRatio.format: int32

[]riskStatus.consistencyRuleRatio.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.consistencyRuleLimit (string · int32; required)

[]riskStatus.consistencyRuleLimit example: 1000000000

[]riskStatus.consistencyRuleLimit.Type: string · int32

[]riskStatus.consistencyRuleLimit.Largest share of period profit one day may account for, fp9 raw fraction (`300000000` = 30%). A ratio above it fails the rule.

[]riskStatus.consistencyRuleLimit.format: int32

[]riskStatus.consistencyRuleLimit.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.payoutBaselineBalance (string · int32; required)

[]riskStatus.payoutBaselineBalance example: 1000000000

[]riskStatus.payoutBaselineBalance.Type: string · int32

[]riskStatus.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial account size until the first payout moves it.

[]riskStatus.payoutBaselineBalance.format: int32

[]riskStatus.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$

- []riskStatus.isPayoutBaselineRequirementMet (boolean; required)

[]riskStatus.isPayoutBaselineRequirementMet example: true

[]riskStatus.isPayoutBaselineRequirementMet.Type: boolean

[]riskStatus.isPayoutBaselineRequirementMet.Whether equity is above `payoutBaselineBalance` — the condition for being eligible to request a payout.