Upscale
Menu
On this page

Get all accounts of current user with risk status

Try it out ↓
GET/accounts/with-risk-status
Get all accounts of current user with risk statusAccounts

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.
Base URL https://api.upscale.trade

Authorization

bearerhttp · bearerrequired

Personal API key, prefixed with usk_.

Examples

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

Responses

401

Unauthorized

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.

defaultResponseapplication/json

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

Array of AccountWithRiskStatusResponse

accountIdstring · uuidrequired

Trader account identifier.

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})$
Example: 00000000-0000-4000-8000-000000000000
userIdstring · uuidrequired

Owner of the account.

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})$
Example: 00000000-0000-4000-8000-000000000000
paymentIdstring · uuid · nullablerequired

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

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})$
Example: 00000000-0000-4000-8000-000000000000
challengeIdstring[]required

Challenge the account runs. Null for demo and tournament accounts.

Array items · string

string

tournamentIdstring · uuid · nullablerequired

Tournament the account was created for. Null outside tournament accounts.

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})$
Example: 00000000-0000-4000-8000-000000000000
typestring · enumrequired

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

Allowed: "demo" "real" "tournament"
Example: demo
initialPhasestringrequired

Phase the account started in.

Example: active_evaluation
currentPhasestringrequired

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

Example: active_evaluation
statusstring · enumrequired

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

Allowed: "pending" "active" "failed" "frozen" "suspended" "closed" "trading_locked_by_funded_limit" "trading_locked_by_instant_funded_limit" "phase_transition_pending" "transition_review"
Example: active
profitTargetstring[]required

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

Array items · string

string

maxDailyDrawdownstring[]required

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

Array items · string

string

maxTotalDrawdownstring[]required

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

Array items · string

string

maxTrailingTotalDrawdownstring[]required

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

Array items · string

string

drawdownBasestring · int32 · nullablerequired

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
maxDrawdownStopstring · int32 · nullablerequired

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
minTradingDaysnumber[]required

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

Array items · number

number

suspendedUntilstring · date-time · nullablerequired

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

Example: 2023-10-01T00:00:00.000Z
accountBalancestring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
initialAccountBalancestring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
maxEquitystring · int32 · nullablerequired

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
dayStartEquitystring · int32 · nullablerequired

Equity the current trading day opened at, fp9 raw.

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
profitableDaysnumberrequired

Profitable days counted in the current withdrawal period.

Example: 0
prevPeriodProfitableDaysnumberrequired

Profitable days counted in the previous withdrawal period.

Example: 0
createdAtstring · date-timerequired

When the account was created.

Example: 2026-05-01T12:30:00.000Z
failureReasonstring · enum · nullablerequired

Rule that failed the account. Null while it has not failed.

Allowed: "max_total_drawdown" "max_trailing_total_drawdown" "max_daily_drawdown" null
Example: max_total_drawdown
fundedAtstring · date-time · nullablerequired

When the account reached the funded phase. Null before that.

Example: 2026-05-01T12:30:00.000Z
failedAtstring · date-time · nullablerequired

When the account failed. Null while it has not.

Example: 2026-05-01T12:30:00.000Z
transitionReviewAtstring · date-time · nullablerequired

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

Example: 2026-05-01T12:30:00.000Z
currentWithdrawalPeriodStartedAtstring · date-time · nullablerequired

Start of the running withdrawal period. Null while none is running.

Example: 2026-05-01T12:30:00.000Z
fundedLimitUnlockedAtstring · date-time · nullablerequired

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.

Example: 2026-05-01T12:30:00.000Z
maxWithdrawalAmountstring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
payoutBaselineBalancestring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
isActiveWithdrawalInPeriodbooleanrequired

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

Example: true
profitSplitPercentnumberrequired

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

Example: 80
debtstring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
dailyDrawdownProtectionobject · nullablerequired

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

Object · 1 field
usedAtstring · date-time · nullablerequired

When the protection was consumed. Null while it is still available.

Example: 2026-05-01T12:30:00.000Z
View example
{
  "usedAt": "2026-05-01T12:30:00.000Z"
}
aiFailedReportbooleanrequired

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

Example: true
apiTradingbooleanrequired

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

Example: true
availableMarketsstring · enumrequired

Market category the account may trade: crypto, rwa, or all.

Allowed: "crypto" "rwa" "all"
Example: crypto
antifraudStatusstring · enumrequired

Antifraud state of the account; anything other than normal marks it for review.

Allowed: "normal" "test_account" "balance_exceeded" "manually_flagged" "manually_cleared"
Example: normal
tradingLockReasonstring[]required

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.

Array items · string

string

View example
[
  "string"
]
tournamentobject · nullablerequired

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

Object · 5 fields
idstring · uuidrequired

Tournament identifier.

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})$
Example: 00000000-0000-4000-8000-000000000000
statusstring · enumrequired

Stage the tournament is in.

Allowed: "active" "completed"
Example: active
startDatestring · date-timerequired

When the tournament opens for trading.

Example: 2026-05-01T12:30:00.000Z
endDatestring · date-timerequired

When the tournament closes.

Example: 2026-05-01T12:30:00.000Z
finalRecalcDonebooleanrequired

Whether final standings have been recomputed after the close.

Example: true
View 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
}
restoreobjectrequired

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

Object · 2 fields
restoreAvailablebooleanrequired

Whether the failed funded account can be restored right now.

Example: true
restoreAvailableUntilstring · date-time · nullablerequired

When the restore window closes. Null when there is no window.

Example: 2026-05-01T12:30:00.000Z
View example
{
  "restoreAvailable": true,
  "restoreAvailableUntil": "2026-05-01T12:30:00.000Z"
}
riskStatusobjectrequired

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

Object · 15 fields
accountIdstring · uuidrequired

Trader account the snapshot belongs to.

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})$
Example: 00000000-0000-4000-8000-000000000000
tradingDaysnumberrequired

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

Example: 0
currentBalancestring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
currentEquitystring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
dayStartEquitystring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
maxEquitystring · int32 · nullablerequired

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
periodStartEquitystring · int32 · nullablerequired

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
maxPeriodDailyEquityDeltastring · int32 · nullablerequired

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.

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
maxPeriodDailyEquityDeltaAtstring · date-time · nullablerequired

Day that produced maxPeriodDailyEquityDelta. Null together with it.

Example: 2026-05-01T12:30:00.000Z
consistencyRuleAppliesbooleanrequired

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

Example: true
consistencyRuleMetboolean · nullablerequired

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

Example: true
consistencyRuleRatiostring · int32 · nullablerequired

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
consistencyRuleLimitstring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
payoutBaselineBalancestring · int32required

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

pattern
^(?:-?[1-9][0-9]*|0)$
Example: 1000000000
isPayoutBaselineRequirementMetbooleanrequired

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

Example: true
View 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
}