{"format":"opendoc-document","version":1,"url":"https://docs.upscale.trade/developers/operations/getaccountswithriskstatus","title":"Get all accounts of current user with risk status","description":"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.","kind":"api-operation","locale":"en","inLanguage":"en","lastModified":"2026-09-28T19:22:49.100Z","revision":"25c86f549328fcff320805d5945f4c9804e3927950d831e601d6e3b18c170f66","section":{"title":"Developers","url":"https://docs.upscale.trade/developers"},"representations":{"html":"https://docs.upscale.trade/developers/operations/getaccountswithriskstatus","markdown":"https://docs.upscale.trade/developers/operations/getaccountswithriskstatus.md","json":"https://docs.upscale.trade/developers/operations/getaccountswithriskstatus.json"},"translations":{"en":"https://docs.upscale.trade/developers/operations/getaccountswithriskstatus","ru":"https://docs.upscale.trade/ru/developers/operations/getaccountswithriskstatus","es":"https://docs.upscale.trade/es/developers/operations/getaccountswithriskstatus"},"operation":{"id":"getAccountsWithRiskStatus","method":"GET","path":"/accounts/with-risk-status","summary":"Get all accounts of current user with risk status","description":"Every account of the caller as a full record — challenge, phase, status, balances and enabled options — with its risk snapshot attached.\n\n- Authenticated with an API key, only accounts that have `api_trading` enabled are included.\n- Interactive sessions share one budget here with the risk-status endpoints; an API key is limited by its own read limits instead.","tags":["Accounts"],"deprecated":false,"parameters":[],"bodies":[],"responses":[{"status":"401","description":"Unauthorized","properties":[],"headers":[]},{"status":"429","description":"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`.","properties":[],"headers":[]},{"status":"default","description":"Response","mediaType":"application/json","properties":[],"schema":{"type":"object[]","types":["array"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":["object"],"reference":"#/components/schemas/AccountWithRiskStatusResponse","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"accountId","type":"string · uuid","required":true,"description":"Trader account identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account identifier.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","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})$"},"properties":[],"variants":[]}},{"name":"userId","type":"string · uuid","required":true,"description":"Owner of the account.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Owner of the account.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","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})$"},"properties":[],"variants":[]}},{"name":"paymentId","type":"string · uuid · nullable","required":true,"description":"Payment the challenge behind this account was bought with. Null for accounts that were not purchased.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid · nullable","types":["string"],"description":"Payment the challenge behind this account was bought with. Null for accounts that were not purchased.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","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})$"},"properties":[],"variants":[]}},{"name":"challengeId","type":"string[]","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","schema":{"type":"string[]","types":["array"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"tournamentId","type":"string · uuid · nullable","required":true,"description":"Tournament the account was created for. Null outside tournament accounts.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid · nullable","types":["string"],"description":"Tournament the account was created for. Null outside tournament accounts.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","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})$"},"properties":[],"variants":[]}},{"name":"type","type":"string · enum","required":true,"description":"Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.","example":"demo","schema":{"type":"string · enum","types":["string"],"description":"Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.","example":"demo","enum":["demo","real","tournament"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialPhase","type":"string","required":true,"description":"Phase the account started in.","example":"active_evaluation","schema":{"type":"string","types":["string"],"description":"Phase the account started in.","example":"active_evaluation","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currentPhase","type":"string","required":true,"description":"Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.","example":"active_evaluation","schema":{"type":"string","types":["string"],"description":"Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.","example":"active_evaluation","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"status","type":"string · enum","required":true,"description":"Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.","example":"active","schema":{"type":"string · enum","types":["string"],"description":"Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.","example":"active","enum":["pending","active","failed","frozen","suspended","closed","trading_locked_by_funded_limit","trading_locked_by_instant_funded_limit","phase_transition_pending","transition_review"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"profitTarget","type":"string[]","required":true,"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","schema":{"type":"string[]","types":["array"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"maxDailyDrawdown","type":"string[]","required":true,"description":"Daily drawdown limit of the current phase, in percent of the day-start equity. Null when the phase has no daily limit.","schema":{"type":"string[]","types":["array"],"description":"Daily drawdown limit of the current phase, in percent of the day-start equity. Null when the phase has no daily limit.","example":50,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"maxTotalDrawdown","type":"string[]","required":true,"description":"Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.","schema":{"type":"string[]","types":["array"],"description":"Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.","example":50,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string[]","required":true,"description":"Trailing drawdown limit of the current phase, in percent of the highest equity reached. Null when the phase has no trailing limit.","schema":{"type":"string[]","types":["array"],"description":"Trailing drawdown limit of the current phase, in percent of the highest equity reached. Null when the phase has no trailing limit.","example":50,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"drawdownBase","type":"string · int32 · nullable","required":true,"description":"Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxDrawdownStop","type":"string · int32 · nullable","required":true,"description":"Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"minTradingDays","type":"number[]","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","schema":{"type":"number[]","types":["array"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"number","types":["number"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"suspendedUntil","type":"string · date-time · nullable","required":true,"description":"When a suspension of the account lifts. Null when it is not suspended.","example":"2023-10-01T00:00:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"When a suspension of the account lifts. Null when it is not suspended.","example":"2023-10-01T00:00:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"accountBalance","type":"string · int32","required":true,"description":"Balance without the unrealised pnl of open positions, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Balance without the unrealised pnl of open positions, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"initialAccountBalance","type":"string · int32","required":true,"description":"Balance the account was opened with, fp9 raw — the nominal size of the challenge.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Balance the account was opened with, fp9 raw — the nominal size of the challenge.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxEquity","type":"string · int32 · nullable","required":true,"description":"Highest equity the account has reached, fp9 raw. Null before the first trade.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Highest equity the account has reached, fp9 raw. Null before the first trade.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"dayStartEquity","type":"string · int32 · nullable","required":true,"description":"Equity the current trading day opened at, fp9 raw.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Equity the current trading day opened at, fp9 raw.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"profitableDays","type":"number","required":true,"description":"Profitable days counted in the current withdrawal period.","example":"0","schema":{"type":"number","types":["number"],"description":"Profitable days counted in the current withdrawal period.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"prevPeriodProfitableDays","type":"number","required":true,"description":"Profitable days counted in the previous withdrawal period.","example":"0","schema":{"type":"number","types":["number"],"description":"Profitable days counted in the previous withdrawal period.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the account was created.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the account was created.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"failureReason","type":"string · enum · nullable","required":true,"description":"Rule that failed the account. Null while it has not failed.","example":"max_total_drawdown","schema":{"type":"string · enum · nullable","types":["string"],"description":"Rule that failed the account. Null while it has not failed.","enum":["max_total_drawdown","max_trailing_total_drawdown","max_daily_drawdown",null],"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"fundedAt","type":"string · date-time · nullable","required":true,"description":"When the account reached the funded phase. Null before that.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"When the account reached the funded phase. Null before that.","example":"2026-05-01T12:30:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"failedAt","type":"string · date-time · nullable","required":true,"description":"When the account failed. Null while it has not.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"When the account failed. Null while it has not.","example":"2026-05-01T12:30:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"transitionReviewAt","type":"string · date-time · nullable","required":true,"description":"When the phase transition was sent for manual review. Null when no review is pending.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"When the phase transition was sent for manual review. Null when no review is pending.","example":"2026-05-01T12:30:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"currentWithdrawalPeriodStartedAt","type":"string · date-time · nullable","required":true,"description":"Start of the running withdrawal period. Null while none is running.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"Start of the running withdrawal period. Null while none is running.","example":"2026-05-01T12:30:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"fundedLimitUnlockedAt","type":"string · date-time · nullable","required":true,"description":"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","schema":{"type":"string · date-time · nullable","types":["string"],"description":"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","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"maxWithdrawalAmount","type":"string · int32","required":true,"description":"Largest amount that may be withdrawn from the account right now, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Largest amount that may be withdrawn from the account right now, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"payoutBaselineBalance","type":"string · int32","required":true,"description":"Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"isActiveWithdrawalInPeriod","type":"boolean","required":true,"description":"Whether a withdrawal request is already in flight for the current period.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether a withdrawal request is already in flight for the current period.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"profitSplitPercent","type":"number","required":true,"description":"Share of the profit paid out to the trader, in percent.","example":"80","schema":{"type":"number","types":["number"],"description":"Share of the profit paid out to the trader, in percent.","example":80,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"debt","type":"string · int32","required":true,"description":"Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"dailyDrawdownProtection","type":"object · nullable","required":true,"description":"Daily drawdown protection of the account. Null when the account does not carry the option.","example":"{\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}","schema":{"type":"object · nullable","types":["object"],"description":"Daily drawdown protection of the account. Null when the account does not carry the option.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"usedAt","type":"string · date-time · nullable","required":true,"description":"When the protection was consumed. Null while it is still available.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"When the protection was consumed. Null while it is still available.","example":"2026-05-01T12:30:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}}],"variants":[]}},{"name":"aiFailedReport","type":"boolean","required":true,"description":"Whether an automated report has been produced for the failure of this account.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether an automated report has been produced for the failure of this account.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"apiTrading","type":"boolean","required":true,"description":"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","schema":{"type":"boolean","types":["boolean"],"description":"Whether the account may be traded with a personal API key. Requests made with a key are refused on accounts where this is false.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"availableMarkets","type":"string · enum","required":true,"description":"Market category the account may trade: `crypto`, `rwa`, or `all`.","example":"crypto","schema":{"type":"string · enum","types":["string"],"description":"Market category the account may trade: `crypto`, `rwa`, or `all`.","enum":["crypto","rwa","all"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"antifraudStatus","type":"string · enum","required":true,"description":"Antifraud state of the account; anything other than `normal` marks it for review.","example":"normal","schema":{"type":"string · enum","types":["string"],"description":"Antifraud state of the account; anything other than `normal` marks it for review.","enum":["normal","test_account","balance_exceeded","manually_flagged","manually_cleared"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"tradingLockReason","type":"string[]","required":true,"description":"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.","example":"[\n  \"string\"\n]","schema":{"type":"string[]","types":["array"],"description":"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.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"string","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"variants":[]}},{"name":"tournament","type":"object · nullable","required":true,"description":"Tournament the account belongs to. Null for accounts outside a tournament.","example":"{\n  \"id\": \"00000000-0000-4000-8000-000000000000\",\n  \"status\": \"active\",\n  \"startDate\": \"2026-05-01T12:30:00.000Z\",\n  \"endDate\": \"2026-05-01T12:30:00.000Z\",\n  \"finalRecalcDone\": true\n}","schema":{"type":"object · nullable","types":["object"],"description":"Tournament the account belongs to. Null for accounts outside a tournament.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"id","type":"string · uuid","required":true,"description":"Tournament identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Tournament identifier.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","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})$"},"properties":[],"variants":[]}},{"name":"status","type":"string · enum","required":true,"description":"Stage the tournament is in.","example":"active","schema":{"type":"string · enum","types":["string"],"description":"Stage the tournament is in.","enum":["active","completed"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"startDate","type":"string · date-time","required":true,"description":"When the tournament opens for trading.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the tournament opens for trading.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"endDate","type":"string · date-time","required":true,"description":"When the tournament closes.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the tournament closes.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"finalRecalcDone","type":"boolean","required":true,"description":"Whether final standings have been recomputed after the close.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether final standings have been recomputed after the close.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"restore","type":"object","required":true,"description":"Whether a failed funded account can be brought back, and until when.","example":"{\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}","schema":{"type":"object","types":["object"],"description":"Whether a failed funded account can be brought back, and until when.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"restoreAvailable","type":"boolean","required":true,"description":"Whether the failed funded account can be restored right now.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether the failed funded account can be restored right now.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"restoreAvailableUntil","type":"string · date-time · nullable","required":true,"description":"When the restore window closes. Null when there is no window.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"When the restore window closes. Null when there is no window.","example":"2026-05-01T12:30:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}}],"variants":[]}},{"name":"riskStatus","type":"object","required":true,"description":"Live risk snapshot of this account, the same payload the risk-status endpoints return.","example":"{\n  \"accountId\": \"00000000-0000-4000-8000-000000000000\",\n  \"tradingDays\": 0,\n  \"currentBalance\": \"1000000000\",\n  \"currentEquity\": \"1000000000\",\n  \"dayStartEquity\": \"1000000000\",\n  \"maxEquity\": \"1000000000\",\n  \"periodStartEquity\": \"1000000000\",\n  \"maxPeriodDailyEquityDelta\": \"1000000000\",\n  \"maxPeriodDailyEquityDeltaAt\": \"2026-05-01T12:30:00.000Z\",\n  \"consistencyRuleApplies\": true,\n  \"consistencyRuleMet\": true,\n  \"consistencyRuleRatio\": \"1000000000\",\n  \"consistencyRuleLimit\": \"1000000000\",\n  \"payoutBaselineBalance\": \"1000000000\",\n  \"isPayoutBaselineRequirementMet\": true\n}","schema":{"type":"object","types":["object"],"description":"Live risk snapshot of this account, the same payload the risk-status endpoints return.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"accountId","type":"string · uuid","required":true,"description":"Trader account the snapshot belongs to.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the snapshot belongs to.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","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})$"},"properties":[],"variants":[]}},{"name":"tradingDays","type":"number","required":true,"description":"Number of days the account has traded on — counted against the minimum trading days of the challenge.","example":"0","schema":{"type":"number","types":["number"],"description":"Number of days the account has traded on — counted against the minimum trading days of the challenge.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currentBalance","type":"string · int32","required":true,"description":"Account balance without the unrealised pnl of open positions, fp9 raw.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Account balance without the unrealised pnl of open positions, fp9 raw.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"currentEquity","type":"string · int32","required":true,"description":"Balance plus the unrealised pnl of open positions, fp9 raw. This is what drawdown rules are measured against.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Balance plus the unrealised pnl of open positions, fp9 raw. This is what drawdown rules are measured against.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"dayStartEquity","type":"string · int32","required":true,"description":"Equity the current trading day opened at, fp9 raw — the base of the daily drawdown limit.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Equity the current trading day opened at, fp9 raw — the base of the daily drawdown limit.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxEquity","type":"string · int32 · nullable","required":true,"description":"Highest equity the account has ever reached, fp9 raw — the base of the trailing drawdown. Null before the first trade.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Highest equity the account has ever reached, fp9 raw — the base of the trailing drawdown. Null before the first trade.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"periodStartEquity","type":"string · int32 · nullable","required":true,"description":"Equity the current withdrawal period opened at, fp9 raw. Null while no period is running.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Equity the current withdrawal period opened at, fp9 raw. Null while no period is running.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxPeriodDailyEquityDelta","type":"string · int32 · nullable","required":true,"description":"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.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"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.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"maxPeriodDailyEquityDeltaAt","type":"string · date-time · nullable","required":true,"description":"Day that produced `maxPeriodDailyEquityDelta`. Null together with it.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time · nullable","types":["string"],"description":"Day that produced `maxPeriodDailyEquityDelta`. Null together with it.","example":"2026-05-01T12:30:00.000Z","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"consistencyRuleApplies","type":"boolean","required":true,"description":"Whether the consistency rule is part of the rules of this account in its current phase.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether the consistency rule is part of the rules of this account in its current phase.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"consistencyRuleMet","type":"boolean · nullable","required":true,"description":"Whether the rule is currently satisfied. Null while the period is not in profit and the ratio cannot be computed.","example":"true","schema":{"type":"boolean · nullable","types":["boolean","null"],"description":"Whether the rule is currently satisfied. Null while the period is not in profit and the ratio cannot be computed.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"consistencyRuleRatio","type":"string · int32 · nullable","required":true,"description":"Share of the period profit made on its best day, fp9 raw fraction. Null together with `consistencyRuleMet`.","example":"1000000000","schema":{"type":"string · int32 · nullable","types":["string"],"description":"Share of the period profit made on its best day, fp9 raw fraction. Null together with `consistencyRuleMet`.","example":"1000000000","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"consistencyRuleLimit","type":"string · int32","required":true,"description":"Largest share of period profit one day may account for, fp9 raw fraction (`300000000` = 30%). A ratio above it fails the rule.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Largest share of period profit one day may account for, fp9 raw fraction (`300000000` = 30%). A ratio above it fails the rule.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"payoutBaselineBalance","type":"string · int32","required":true,"description":"Balance the next payout is measured from, fp9 raw. Equal to the initial account size until the first payout moves it.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Balance the next payout is measured from, fp9 raw. Equal to the initial account size until the first payout moves it.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"isPayoutBaselineRequirementMet","type":"boolean","required":true,"description":"Whether equity is above `payoutBaselineBalance` — the condition for being eligible to request a payout.","example":"true","schema":{"type":"boolean","types":["boolean"],"description":"Whether equity is above `payoutBaselineBalance` — the condition for being eligible to request a payout.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}}],"variants":[]},"variants":[]},"exampleDiagnostic":"Body[0].challengeId must be array Body[0].profitTarget must be array Body[0].maxDailyDrawdown must be array","headers":[]}],"security":[{"name":"bearer","type":"http · bearer","description":"Personal API key, prefixed with `usk_`.","required":true,"scopes":[]}],"codeSamples":[{"label":"cURL","language":"bash","source":"curl --request GET 'https://api.upscale.trade/accounts/with-risk-status' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'"},{"label":"JavaScript","language":"javascript","source":"const response = await fetch(\"https://api.upscale.trade/accounts/with-risk-status\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());"},{"label":"Python","language":"python","source":"import requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/accounts/with-risk-status\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)"}]},"breadcrumbs":[{"title":"What is Prop Trading","url":"https://docs.upscale.trade"},{"title":"Developers","url":"https://docs.upscale.trade/developers"},{"title":"Get all accounts of current user with risk status","url":"https://docs.upscale.trade/developers/operations/getaccountswithriskstatus"}],"headings":[{"depth":2,"id":"authorization","title":"Authorization"},{"depth":2,"id":"examples","title":"Examples"},{"depth":2,"id":"responses","title":"Responses"}],"markdown":"# Get all accounts of current user with risk status\n\n`GET /accounts/with-risk-status`\n\nEvery account of the caller as a full record — challenge, phase, status, balances and enabled options — with its risk snapshot attached.\n\n- Authenticated with an API key, only accounts that have `api_trading` enabled are included.\n- Interactive sessions share one budget here with the risk-status endpoints; an API key is limited by its own read limits instead.\n\n## Authorization\n\nbearer: http · bearer (required). Personal API key, prefixed with `usk_`.\n\n## Parameters\n\n\n\n## Example · cURL\n\n```bash\ncurl --request GET 'https://api.upscale.trade/accounts/with-risk-status' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'\n```\n\n## Example · JavaScript\n\n```javascript\nconst response = await fetch(\"https://api.upscale.trade/accounts/with-risk-status\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());\n```\n\n## Example · Python\n\n```python\nimport requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/accounts/with-risk-status\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)\n```\n\n## Response 401\n\n**401**  — Unauthorized\n\n## Response 429\n\n**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`.\n\n## Response default · AccountWithRiskStatusResponse\n\n**default** application/json — Response\n\nBody[0].challengeId must be array Body[0].profitTarget must be array Body[0].maxDailyDrawdown must be array\n\nType: object[]\n\n[]Schema: AccountWithRiskStatusResponse\n\n[]Type: object\n\n[]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\n\n[]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)\n\n- []accountId (string · uuid; required)\n\n[]accountId example: 00000000-0000-4000-8000-000000000000\n\n[]accountId.Type: string · uuid\n\n[]accountId.Trader account identifier.\n\n[]accountId.format: uuid\n\n[]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})$\n\n- []userId (string · uuid; required)\n\n[]userId example: 00000000-0000-4000-8000-000000000000\n\n[]userId.Type: string · uuid\n\n[]userId.Owner of the account.\n\n[]userId.format: uuid\n\n[]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})$\n\n- []paymentId (string · uuid · nullable; required)\n\n[]paymentId example: 00000000-0000-4000-8000-000000000000\n\n[]paymentId.Type: string · uuid · nullable\n\n[]paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\n[]paymentId.format: uuid\n\n[]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})$\n\n- []challengeId (string[]; required)\n\n[]challengeId.Type: string[]\n\n[]challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n[]challengeId.[]Type: string\n\n- []tournamentId (string · uuid · nullable; required)\n\n[]tournamentId example: 00000000-0000-4000-8000-000000000000\n\n[]tournamentId.Type: string · uuid · nullable\n\n[]tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\n[]tournamentId.format: uuid\n\n[]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})$\n\n- []type (string · enum; required)\n\n[]type example: demo\n\n[]type.Type: string · enum\n\n[]type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\n[]type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- []initialPhase (string; required)\n\n[]initialPhase example: active_evaluation\n\n[]initialPhase.Type: string\n\n[]initialPhase.Phase the account started in.\n\n- []currentPhase (string; required)\n\n[]currentPhase example: active_evaluation\n\n[]currentPhase.Type: string\n\n[]currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- []status (string · enum; required)\n\n[]status example: active\n\n[]status.Type: string · enum\n\n[]status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\n[]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\"]\n\n- []profitTarget (string[]; required)\n\n[]profitTarget.Type: string[]\n\n[]profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n[]profitTarget.[]Type: string\n\n- []maxDailyDrawdown (string[]; required)\n\n[]maxDailyDrawdown.Type: string[]\n\n[]maxDailyDrawdown.Daily drawdown limit of the current phase, in percent of the day-start equity. Null when the phase has no daily limit.\n\n[]maxDailyDrawdown.[]Type: string\n\n- []maxTotalDrawdown (string[]; required)\n\n[]maxTotalDrawdown.Type: string[]\n\n[]maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n[]maxTotalDrawdown.[]Type: string\n\n- []maxTrailingTotalDrawdown (string[]; required)\n\n[]maxTrailingTotalDrawdown.Type: string[]\n\n[]maxTrailingTotalDrawdown.Trailing drawdown limit of the current phase, in percent of the highest equity reached. Null when the phase has no trailing limit.\n\n[]maxTrailingTotalDrawdown.[]Type: string\n\n- []drawdownBase (string · int32 · nullable; required)\n\n[]drawdownBase example: 1000000000\n\n[]drawdownBase.Type: string · int32 · nullable\n\n[]drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\n[]drawdownBase.format: int32\n\n[]drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []maxDrawdownStop (string · int32 · nullable; required)\n\n[]maxDrawdownStop example: 1000000000\n\n[]maxDrawdownStop.Type: string · int32 · nullable\n\n[]maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\n[]maxDrawdownStop.format: int32\n\n[]maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []minTradingDays (number[]; required)\n\n[]minTradingDays.Type: number[]\n\n[]minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n[]minTradingDays.[]Type: number\n\n- []suspendedUntil (string · date-time · nullable; required)\n\n[]suspendedUntil example: 2023-10-01T00:00:00.000Z\n\n[]suspendedUntil.Type: string · date-time · nullable\n\n[]suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\n[]suspendedUntil.format: date-time\n\n- []accountBalance (string · int32; required)\n\n[]accountBalance example: 1000000000\n\n[]accountBalance.Type: string · int32\n\n[]accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\n[]accountBalance.format: int32\n\n[]accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []initialAccountBalance (string · int32; required)\n\n[]initialAccountBalance example: 1000000000\n\n[]initialAccountBalance.Type: string · int32\n\n[]initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\n[]initialAccountBalance.format: int32\n\n[]initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []maxEquity (string · int32 · nullable; required)\n\n[]maxEquity example: 1000000000\n\n[]maxEquity.Type: string · int32 · nullable\n\n[]maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\n[]maxEquity.format: int32\n\n[]maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []dayStartEquity (string · int32 · nullable; required)\n\n[]dayStartEquity example: 1000000000\n\n[]dayStartEquity.Type: string · int32 · nullable\n\n[]dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\n[]dayStartEquity.format: int32\n\n[]dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []profitableDays (number; required)\n\n[]profitableDays example: 0\n\n[]profitableDays.Type: number\n\n[]profitableDays.Profitable days counted in the current withdrawal period.\n\n- []prevPeriodProfitableDays (number; required)\n\n[]prevPeriodProfitableDays example: 0\n\n[]prevPeriodProfitableDays.Type: number\n\n[]prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- []createdAt (string · date-time; required)\n\n[]createdAt example: 2026-05-01T12:30:00.000Z\n\n[]createdAt.Type: string · date-time\n\n[]createdAt.When the account was created.\n\n[]createdAt.format: date-time\n\n- []failureReason (string · enum · nullable; required)\n\n[]failureReason example: max_total_drawdown\n\n[]failureReason.Type: string · enum · nullable\n\n[]failureReason.Rule that failed the account. Null while it has not failed.\n\n[]failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- []fundedAt (string · date-time · nullable; required)\n\n[]fundedAt example: 2026-05-01T12:30:00.000Z\n\n[]fundedAt.Type: string · date-time · nullable\n\n[]fundedAt.When the account reached the funded phase. Null before that.\n\n[]fundedAt.format: date-time\n\n- []failedAt (string · date-time · nullable; required)\n\n[]failedAt example: 2026-05-01T12:30:00.000Z\n\n[]failedAt.Type: string · date-time · nullable\n\n[]failedAt.When the account failed. Null while it has not.\n\n[]failedAt.format: date-time\n\n- []transitionReviewAt (string · date-time · nullable; required)\n\n[]transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\n[]transitionReviewAt.Type: string · date-time · nullable\n\n[]transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\n[]transitionReviewAt.format: date-time\n\n- []currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\n[]currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\n[]currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\n[]currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\n[]currentWithdrawalPeriodStartedAt.format: date-time\n\n- []fundedLimitUnlockedAt (string · date-time · nullable; required)\n\n[]fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\n[]fundedLimitUnlockedAt.Type: string · date-time · nullable\n\n[]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.\n\n[]fundedLimitUnlockedAt.format: date-time\n\n- []maxWithdrawalAmount (string · int32; required)\n\n[]maxWithdrawalAmount example: 1000000000\n\n[]maxWithdrawalAmount.Type: string · int32\n\n[]maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\n[]maxWithdrawalAmount.format: int32\n\n[]maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []payoutBaselineBalance (string · int32; required)\n\n[]payoutBaselineBalance example: 1000000000\n\n[]payoutBaselineBalance.Type: string · int32\n\n[]payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\n[]payoutBaselineBalance.format: int32\n\n[]payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []isActiveWithdrawalInPeriod (boolean; required)\n\n[]isActiveWithdrawalInPeriod example: true\n\n[]isActiveWithdrawalInPeriod.Type: boolean\n\n[]isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- []profitSplitPercent (number; required)\n\n[]profitSplitPercent example: 80\n\n[]profitSplitPercent.Type: number\n\n[]profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- []debt (string · int32; required)\n\n[]debt example: 1000000000\n\n[]debt.Type: string · int32\n\n[]debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\n[]debt.format: int32\n\n[]debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []dailyDrawdownProtection (object · nullable; required)\n\n[]dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\n[]dailyDrawdownProtection.Type: object · nullable\n\n[]dailyDrawdownProtection.Required fields: usedAt\n\n[]dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\n[]dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- []dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\n[]dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\n[]dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\n[]dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\n[]dailyDrawdownProtection.usedAt.format: date-time\n\n- []aiFailedReport (boolean; required)\n\n[]aiFailedReport example: true\n\n[]aiFailedReport.Type: boolean\n\n[]aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- []apiTrading (boolean; required)\n\n[]apiTrading example: true\n\n[]apiTrading.Type: boolean\n\n[]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.\n\n- []availableMarkets (string · enum; required)\n\n[]availableMarkets example: crypto\n\n[]availableMarkets.Type: string · enum\n\n[]availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\n[]availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- []antifraudStatus (string · enum; required)\n\n[]antifraudStatus example: normal\n\n[]antifraudStatus.Type: string · enum\n\n[]antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\n[]antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- []tradingLockReason (string[]; required)\n\n[]tradingLockReason example: [\n  \"string\"\n]\n\n[]tradingLockReason.Type: string[]\n\n[]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.\n\n[]tradingLockReason.[]Type: string\n\n- []tournament (object · nullable; required)\n\n[]tournament example: {\n  \"id\": \"00000000-0000-4000-8000-000000000000\",\n  \"status\": \"active\",\n  \"startDate\": \"2026-05-01T12:30:00.000Z\",\n  \"endDate\": \"2026-05-01T12:30:00.000Z\",\n  \"finalRecalcDone\": true\n}\n\n[]tournament.Type: object · nullable\n\n[]tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\n[]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)\n\n[]tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- []tournament.id (string · uuid; required)\n\n[]tournament.id example: 00000000-0000-4000-8000-000000000000\n\n[]tournament.id.Type: string · uuid\n\n[]tournament.id.Tournament identifier.\n\n[]tournament.id.format: uuid\n\n[]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})$\n\n- []tournament.status (string · enum; required)\n\n[]tournament.status example: active\n\n[]tournament.status.Type: string · enum\n\n[]tournament.status.Stage the tournament is in.\n\n[]tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- []tournament.startDate (string · date-time; required)\n\n[]tournament.startDate example: 2026-05-01T12:30:00.000Z\n\n[]tournament.startDate.Type: string · date-time\n\n[]tournament.startDate.When the tournament opens for trading.\n\n[]tournament.startDate.format: date-time\n\n- []tournament.endDate (string · date-time; required)\n\n[]tournament.endDate example: 2026-05-01T12:30:00.000Z\n\n[]tournament.endDate.Type: string · date-time\n\n[]tournament.endDate.When the tournament closes.\n\n[]tournament.endDate.format: date-time\n\n- []tournament.finalRecalcDone (boolean; required)\n\n[]tournament.finalRecalcDone example: true\n\n[]tournament.finalRecalcDone.Type: boolean\n\n[]tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- []restore (object; required)\n\n[]restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\n[]restore.Type: object\n\n[]restore.Required fields: restoreAvailable, restoreAvailableUntil\n\n[]restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\n[]restore.Whether a failed funded account can be brought back, and until when.\n\n- []restore.restoreAvailable (boolean; required)\n\n[]restore.restoreAvailable example: true\n\n[]restore.restoreAvailable.Type: boolean\n\n[]restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- []restore.restoreAvailableUntil (string · date-time · nullable; required)\n\n[]restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\n[]restore.restoreAvailableUntil.Type: string · date-time · nullable\n\n[]restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\n[]restore.restoreAvailableUntil.format: date-time\n\n- []riskStatus (object; required)\n\n[]riskStatus example: {\n  \"accountId\": \"00000000-0000-4000-8000-000000000000\",\n  \"tradingDays\": 0,\n  \"currentBalance\": \"1000000000\",\n  \"currentEquity\": \"1000000000\",\n  \"dayStartEquity\": \"1000000000\",\n  \"maxEquity\": \"1000000000\",\n  \"periodStartEquity\": \"1000000000\",\n  \"maxPeriodDailyEquityDelta\": \"1000000000\",\n  \"maxPeriodDailyEquityDeltaAt\": \"2026-05-01T12:30:00.000Z\",\n  \"consistencyRuleApplies\": true,\n  \"consistencyRuleMet\": true,\n  \"consistencyRuleRatio\": \"1000000000\",\n  \"consistencyRuleLimit\": \"1000000000\",\n  \"payoutBaselineBalance\": \"1000000000\",\n  \"isPayoutBaselineRequirementMet\": true\n}\n\n[]riskStatus.Type: object\n\n[]riskStatus.Required fields: accountId, tradingDays, currentBalance, currentEquity, dayStartEquity, maxEquity, periodStartEquity, maxPeriodDailyEquityDelta, maxPeriodDailyEquityDeltaAt, consistencyRuleApplies, consistencyRuleMet, consistencyRuleRatio, consistencyRuleLimit, payoutBaselineBalance, isPayoutBaselineRequirementMet\n\n[]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)\n\n[]riskStatus.Live risk snapshot of this account, the same payload the risk-status endpoints return.\n\n- []riskStatus.accountId (string · uuid; required)\n\n[]riskStatus.accountId example: 00000000-0000-4000-8000-000000000000\n\n[]riskStatus.accountId.Type: string · uuid\n\n[]riskStatus.accountId.Trader account the snapshot belongs to.\n\n[]riskStatus.accountId.format: uuid\n\n[]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})$\n\n- []riskStatus.tradingDays (number; required)\n\n[]riskStatus.tradingDays example: 0\n\n[]riskStatus.tradingDays.Type: number\n\n[]riskStatus.tradingDays.Number of days the account has traded on — counted against the minimum trading days of the challenge.\n\n- []riskStatus.currentBalance (string · int32; required)\n\n[]riskStatus.currentBalance example: 1000000000\n\n[]riskStatus.currentBalance.Type: string · int32\n\n[]riskStatus.currentBalance.Account balance without the unrealised pnl of open positions, fp9 raw.\n\n[]riskStatus.currentBalance.format: int32\n\n[]riskStatus.currentBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.currentEquity (string · int32; required)\n\n[]riskStatus.currentEquity example: 1000000000\n\n[]riskStatus.currentEquity.Type: string · int32\n\n[]riskStatus.currentEquity.Balance plus the unrealised pnl of open positions, fp9 raw. This is what drawdown rules are measured against.\n\n[]riskStatus.currentEquity.format: int32\n\n[]riskStatus.currentEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.dayStartEquity (string · int32; required)\n\n[]riskStatus.dayStartEquity example: 1000000000\n\n[]riskStatus.dayStartEquity.Type: string · int32\n\n[]riskStatus.dayStartEquity.Equity the current trading day opened at, fp9 raw — the base of the daily drawdown limit.\n\n[]riskStatus.dayStartEquity.format: int32\n\n[]riskStatus.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.maxEquity (string · int32 · nullable; required)\n\n[]riskStatus.maxEquity example: 1000000000\n\n[]riskStatus.maxEquity.Type: string · int32 · nullable\n\n[]riskStatus.maxEquity.Highest equity the account has ever reached, fp9 raw — the base of the trailing drawdown. Null before the first trade.\n\n[]riskStatus.maxEquity.format: int32\n\n[]riskStatus.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.periodStartEquity (string · int32 · nullable; required)\n\n[]riskStatus.periodStartEquity example: 1000000000\n\n[]riskStatus.periodStartEquity.Type: string · int32 · nullable\n\n[]riskStatus.periodStartEquity.Equity the current withdrawal period opened at, fp9 raw. Null while no period is running.\n\n[]riskStatus.periodStartEquity.format: int32\n\n[]riskStatus.periodStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.maxPeriodDailyEquityDelta (string · int32 · nullable; required)\n\n[]riskStatus.maxPeriodDailyEquityDelta example: 1000000000\n\n[]riskStatus.maxPeriodDailyEquityDelta.Type: string · int32 · nullable\n\n[]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.\n\n[]riskStatus.maxPeriodDailyEquityDelta.format: int32\n\n[]riskStatus.maxPeriodDailyEquityDelta.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.maxPeriodDailyEquityDeltaAt (string · date-time · nullable; required)\n\n[]riskStatus.maxPeriodDailyEquityDeltaAt example: 2026-05-01T12:30:00.000Z\n\n[]riskStatus.maxPeriodDailyEquityDeltaAt.Type: string · date-time · nullable\n\n[]riskStatus.maxPeriodDailyEquityDeltaAt.Day that produced `maxPeriodDailyEquityDelta`. Null together with it.\n\n[]riskStatus.maxPeriodDailyEquityDeltaAt.format: date-time\n\n- []riskStatus.consistencyRuleApplies (boolean; required)\n\n[]riskStatus.consistencyRuleApplies example: true\n\n[]riskStatus.consistencyRuleApplies.Type: boolean\n\n[]riskStatus.consistencyRuleApplies.Whether the consistency rule is part of the rules of this account in its current phase.\n\n- []riskStatus.consistencyRuleMet (boolean · nullable; required)\n\n[]riskStatus.consistencyRuleMet example: true\n\n[]riskStatus.consistencyRuleMet.Type: boolean · nullable\n\n[]riskStatus.consistencyRuleMet.Whether the rule is currently satisfied. Null while the period is not in profit and the ratio cannot be computed.\n\n- []riskStatus.consistencyRuleRatio (string · int32 · nullable; required)\n\n[]riskStatus.consistencyRuleRatio example: 1000000000\n\n[]riskStatus.consistencyRuleRatio.Type: string · int32 · nullable\n\n[]riskStatus.consistencyRuleRatio.Share of the period profit made on its best day, fp9 raw fraction. Null together with `consistencyRuleMet`.\n\n[]riskStatus.consistencyRuleRatio.format: int32\n\n[]riskStatus.consistencyRuleRatio.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.consistencyRuleLimit (string · int32; required)\n\n[]riskStatus.consistencyRuleLimit example: 1000000000\n\n[]riskStatus.consistencyRuleLimit.Type: string · int32\n\n[]riskStatus.consistencyRuleLimit.Largest share of period profit one day may account for, fp9 raw fraction (`300000000` = 30%). A ratio above it fails the rule.\n\n[]riskStatus.consistencyRuleLimit.format: int32\n\n[]riskStatus.consistencyRuleLimit.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.payoutBaselineBalance (string · int32; required)\n\n[]riskStatus.payoutBaselineBalance example: 1000000000\n\n[]riskStatus.payoutBaselineBalance.Type: string · int32\n\n[]riskStatus.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial account size until the first payout moves it.\n\n[]riskStatus.payoutBaselineBalance.format: int32\n\n[]riskStatus.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []riskStatus.isPayoutBaselineRequirementMet (boolean; required)\n\n[]riskStatus.isPayoutBaselineRequirementMet example: true\n\n[]riskStatus.isPayoutBaselineRequirementMet.Type: boolean\n\n[]riskStatus.isPayoutBaselineRequirementMet.Whether equity is above `payoutBaselineBalance` — the condition for being eligible to request a payout.","text":"Get all accounts of current user 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. GET /accounts/with-risk-status Accounts 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`. default Response","api":{"title":"Upscale Public API","version":"d796ac9","documentation":"https://docs.upscale.trade/developers","playgroundServer":"https://api.upscale.trade"}}