# Get all accounts of current user risk status

`GET /accounts/risk-status`

The per-account risk snapshot, for every account of the caller at once.

- Authenticated with an API key, only accounts that have `api_trading` enabled are included.
- Interactive sessions share one budget here with the single-account risk status; 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/risk-status' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

## Example · JavaScript

```javascript
const response = await fetch("https://api.upscale.trade/accounts/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/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 · AccountsRiskStatusResponse

**default** application/json — Response

Type: object[]

[]Schema: AccountsRiskStatusResponse

[]Type: object

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

[]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[]; required), consistencyRuleRatio (string · int32 · nullable; required), consistencyRuleLimit (string · int32; required), payoutBaselineBalance (string · int32; required), isPayoutBaselineRequirementMet (boolean; required)

- []accountId (string · uuid; required)

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

[]accountId.Type: string · uuid

[]accountId.Trader account the snapshot belongs to.

[]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})$

- []tradingDays (number; required)

[]tradingDays example: 0

[]tradingDays.Type: number

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

- []currentBalance (string · int32; required)

[]currentBalance example: 1000000000

[]currentBalance.Type: string · int32

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

[]currentBalance.format: int32

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

- []currentEquity (string · int32; required)

[]currentEquity example: 1000000000

[]currentEquity.Type: string · int32

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

[]currentEquity.format: int32

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

- []dayStartEquity (string · int32; required)

[]dayStartEquity example: 1000000000

[]dayStartEquity.Type: string · int32

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

[]dayStartEquity.format: int32

[]dayStartEquity.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 ever reached, fp9 raw — the base of the trailing drawdown. Null before the first trade.

[]maxEquity.format: int32

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

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

[]periodStartEquity example: 1000000000

[]periodStartEquity.Type: string · int32 · nullable

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

[]periodStartEquity.format: int32

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

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

[]maxPeriodDailyEquityDelta example: 1000000000

[]maxPeriodDailyEquityDelta.Type: string · int32 · nullable

[]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.

[]maxPeriodDailyEquityDelta.format: int32

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

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

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

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

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

[]maxPeriodDailyEquityDeltaAt.format: date-time

- []consistencyRuleApplies (boolean; required)

[]consistencyRuleApplies example: true

[]consistencyRuleApplies.Type: boolean

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

- []consistencyRuleMet (boolean[]; required)

[]consistencyRuleMet example: [
  true
]

[]consistencyRuleMet.Type: boolean[]

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

[]consistencyRuleMet.[]Type: boolean

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

[]consistencyRuleRatio example: 1000000000

[]consistencyRuleRatio.Type: string · int32 · nullable

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

[]consistencyRuleRatio.format: int32

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

- []consistencyRuleLimit (string · int32; required)

[]consistencyRuleLimit example: 1000000000

[]consistencyRuleLimit.Type: string · int32

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

[]consistencyRuleLimit.format: int32

[]consistencyRuleLimit.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 account size until the first payout moves it.

[]payoutBaselineBalance.format: int32

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

- []isPayoutBaselineRequirementMet (boolean; required)

[]isPayoutBaselineRequirementMet example: true

[]isPayoutBaselineRequirementMet.Type: boolean

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

Example



```json
[
  {
    "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
  }
]
```