/accounts/with-risk-statusКаждый счёт вызывающего в виде полной записи — челлендж, фаза, статус, балансы и включённые опции — с прикреплённым к нему снимком риска.
- При аутентификации с помощью API-ключа включаются только аккаунты, у которых включён
api_trading. - Интерактивные сессии здесь совместно используют один бюджет с эндпоинтами статуса риска; а API-ключ вместо этого ограничен своими собственными лимитами на чтение.
https://api.upscale.tradeПримеры
curl --request GET 'https://api.upscale.trade/accounts/with-risk-status' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY'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());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)Ответы
Неавторизовано
Превышен лимит частоты запросов API-ключа (api_key_rate_limit_exceeded). Retry-After указывает, когда вернуться; тело содержит бакет (read / write), окно, которое сработало, его лимит и retryAt.
defaultОтветapplication/json
Массив AccountWithRiskStatusResponse
accountIdstring · 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})$
00000000-0000-4000-8000-000000000000userIdstring · 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})$
00000000-0000-4000-8000-000000000000paymentIdstring · uuid · nullableобязательноПлатёж, с помощью которого был приобретён челлендж, связанный с этим счётом. Null для счетов, которые не были приобретены.
- 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})$
00000000-0000-4000-8000-000000000000challengeIdstring · nullableобязательноЧеллендж, который проходит счёт. Null для демо-счетов и турнирных счетов.
challenge1tournamentIdstring · uuid · nullableобязательноТурнир, для которого был создан аккаунт. Null вне турнирных аккаунтов.
- 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})$
00000000-0000-4000-8000-000000000000typestring · enumобязательноТип аккаунта: платный челлендж (real), аккаунт demo или участие tournament.
"demo" "real" "tournament"demoinitialPhasestringобязательноФаза, в которой аккаунт начал работу.
active_evaluationcurrentPhasestringобязательноФаза, в которой аккаунт находится сейчас: active_evaluation, active_verification, funded или funded_success, как только у него будет достаточно прибыльных дней.
active_evaluationstatusstring · enumобязательноСтатус аккаунта. Торговля возможна при active; статусы trading_locked_* позволяют только закрывать, а остальные полностью останавливают торговлю.
"pending" "active" "archived" "archive_expired" "failed" "frozen" "suspended" "closed" "trading_locked_by_funded_limit" "trading_locked_by_instant_funded_limit" "phase_transition_pending" "transition_review"activeprofitTargetstring · nullableобязательноПрибыль, необходимая расчётному балансу для прохождения текущей фазы, в процентах от начального баланса — не fp9. Null, когда у фазы нет цели.
5maxDailyDrawdownstring · nullableобязательноДневной лимит просадки текущей фазы, в процентах от начального баланса — не fp9. Убыток считается от dayStartEquity. Null, когда у фазы нет дневного лимита.
5maxTotalDrawdownstring · nullableобязательноОбщий лимит просадки текущей фазы, в процентах от начального баланса — не fp9. Null, когда у фазы нет общего лимита.
10maxTrailingTotalDrawdownstring · nullableобязательноЛимит следящей просадки текущей фазы, в процентах от достигнутого максимума эквити — а не fp9. Null, если у фазы нет следящего лимита.
6drawdownBasestring · fp9 · nullableобязательноЭквити, от которого измеряется просадка финансируемой фазы, fp9 в исходном виде. Null, пока просадка измеряется от начального баланса.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000maxDrawdownStopstring · fp9 · nullableобязательноУровень equity, при котором просадка на этапе финансирования приводит к провалу счета, fp9 raw. Null, пока он выводится из начального баланса.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000minTradingDaysnumber · nullableобязательноПрибыльные дни (profitableDays), необходимые для прохождения текущей фазы. Null, если у фазы нет минимума.
3suspendedUntilstring · date-time · nullableобязательноКогда приостановка счета снимается. Null, когда он не приостановлен.
2023-10-01T00:00:00.000ZaccountBalancestring · fp9обязательноБаланс без нереализованного pnl открытых позиций, fp9 raw.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000initialAccountBalancestring · fp9обязательноБаланс, с которым был открыт счет, fp9 raw — номинальный размер челленджа.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000maxEquitystring · fp9 · nullableобязательноНаибольшее значение средств, которого достиг счёт, fp9 в сыром виде. Null до первой сделки.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000dayStartEquitystring · fp9 · nullableобязательноСредства на открытии текущего торгового дня, fp9 в сыром виде.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000profitableDaysnumberобязательноПрибыльные дни, засчитанные в текущем периоде вывода.
0prevPeriodProfitableDaysnumberобязательноПрибыльные дни, засчитанные в предыдущем периоде вывода.
0archivedAtstring · date-time · nullableобязательноНачало периода архивации аккаунта.
2026-05-01T12:30:00.000ZarchiveRestoreAvailableUntilstring · date-time · nullableобязательноКрайний срок разархивации, независимо от платного Restore.
2026-05-01T12:30:00.000ZcreatedAtstring · date-timeобязательноКогда счёт был создан.
2026-05-01T12:30:00.000ZfailureReasonstring · enum · nullableобязательноПравило, которое привело к провалу аккаунта. Null, пока аккаунт не провален.
"archive_expired" "max_total_drawdown" "max_trailing_total_drawdown" "max_daily_drawdown"archive_expiredfundedAtstring · date-time · nullableобязательноКогда аккаунт достиг этапа финансирования. Null до этого.
2026-05-01T12:30:00.000ZfailedAtstring · date-time · nullableобязательноКогда аккаунт провалился. Null, пока он не провален.
2026-05-01T12:30:00.000ZtransitionReviewAtstring · date-time · nullableобязательноКогда переход фазы был отправлен на ручную проверку. Null, когда никакая проверка не ожидается.
2026-05-01T12:30:00.000ZcurrentWithdrawalPeriodStartedAtstring · date-time · nullableобязательноНачало текущего периода вывода. Null, пока такой период не запущен.
2026-05-01T12:30:00.000ZfundedLimitUnlockedAtstring · date-time · nullableобязательноКогда счёт в последний раз вышел из блокировки управляемого капитала; торговые дни периода отсчитываются отсюда. Null, если он никогда не был заблокирован.
2026-05-01T12:30:00.000ZmaxWithdrawalAmountstring · fp9обязательноНаибольшая сумма, которая может быть выведена со счёта прямо сейчас, fp9 в исходном виде.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000payoutBaselineBalancestring · fp9обязательноБаланс, от которого рассчитывается следующая выплата, fp9 в исходном виде. Равен начальному балансу, пока первая выплата его не изменит.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000isActiveWithdrawalInPeriodbooleanобязательноНаходится ли запрос на вывод уже в обработке за текущий период.
trueprofitSplitPercentnumberобязательноДоля прибыли, выплачиваемая трейдеру, в процентах.
80debtstring · fp9обязательноНепогашенный долг по промо-скидке счёта, fp9 в исходном виде. Удерживается из следующей выплаты; 0, когда её нет.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000dailyDrawdownProtectionobject · nullableобязательноЕжедневная защита от просадки счёта. Null, когда у счёта нет этой опции.
Объект · 1 поле
usedAtstring · date-time · nullableобязательноКогда защита была израсходована. Null, пока она всё ещё доступна.
2026-05-01T12:30:00.000ZПосмотреть пример
{
"usedAt": "2026-05-01T12:30:00.000Z"
}aiFailedReportbooleanобязательноБыл ли сформирован автоматический отчёт о сбое этого счёта.
trueapiTradingbooleanобязательноМожно ли торговать на счёте с личным API-ключом. Запросы, сделанные с ключом, отклоняются на счетах, где это false.
trueavailableMarketsstring · enumобязательноКатегория рынка, в которой аккаунт может торговать: crypto, rwa или all.
"crypto" "rwa" "all"cryptoantifraudStatusstring · enumобязательноСостояние антифрода аккаунта; всё, кроме normal, помечает его для проверки.
"normal" "test_account" "balance_exceeded" "manually_flagged" "manually_cleared"normaltradingLockReasonstring · nullableобязательноПочему торговля заблокирована: auto при достижении лимита управляемого капитала на промоакции, иначе причина, указанная администратором. Null, когда аккаунт не заблокирован.
stringtournamentobject · nullableобязательноТурнир, к которому относится аккаунт. Null для аккаунтов вне турнира.
Объект · 5 поля
idstring · 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})$
00000000-0000-4000-8000-000000000000statusstring · enumобязательноСтадия, в которой находится турнир.
"active" "completed"activestartDatestring · date-timeобязательноКогда турнир открывается для торговли.
2026-05-01T12:30:00.000ZendDatestring · date-timeобязательноКогда турнир закрывается.
2026-05-01T12:30:00.000ZfinalRecalcDonebooleanобязательноБыли ли пересчитаны итоговые турнирные таблицы после закрытия.
trueПосмотреть пример
{
"id": "00000000-0000-4000-8000-000000000000",
"status": "active",
"startDate": "2026-05-01T12:30:00.000Z",
"endDate": "2026-05-01T12:30:00.000Z",
"finalRecalcDone": true
}restoreobjectобязательноМожно ли восстановить проваленный финансируемый счёт и до какого момента.
Объект · 2 поля
restoreAvailablebooleanобязательноМожно ли восстановить неудачный финансируемый аккаунт прямо сейчас.
truerestoreAvailableUntilstring · date-time · nullableобязательноКогда закрывается окно восстановления. Null, когда окна нет.
2026-05-01T12:30:00.000ZПосмотреть пример
{
"restoreAvailable": true,
"restoreAvailableUntil": "2026-05-01T12:30:00.000Z"
}riskStatusobjectобязательноАктуальный снимок риска этого счёта, та же полезная нагрузка, которую возвращают эндпоинты статуса риска.
Объект · 15 поля
accountIdstring · 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})$
00000000-0000-4000-8000-000000000000tradingDaysnumberобязательноПрибыльные дни текущего периода вывода — тот же счётчик, что и profitableDays счёта, а не дни со сделками. День засчитывается, когда эквити вырастает как минимум на 0.5% от начального баланса; minTradingDays сравнивается с этим числом.
0currentBalancestring · fp9обязательноБаланс счёта без нереализованного PnL открытых позиций, fp9 в исходном виде.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000currentEquitystring · fp9обязательноБаланс плюс нереализованный PnL открытых позиций, fp9 в исходном виде. Именно относительно этого измеряются правила просадки.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000dayStartEquitystring · fp9обязательноЭквити на момент открытия текущего торгового дня, fp9 в исходном виде — база дневного лимита просадки.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000maxEquitystring · fp9 · nullableобязательноНаивысшее эквити, которого когда-либо достигал счёт, fp9 в исходном виде — база следящей просадки. Null до первой сделки.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000periodStartEquitystring · fp9 · nullableобязательноЭквити на момент открытия текущего периода вывода, fp9 в исходном виде. Null, пока не идёт ни один период.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000maxPeriodDailyEquityDeltastring · fp9 · nullableобязательноНаибольший однодневный прирост эквити внутри текущего периода, fp9 в сыром виде — числитель правила согласованности. Null, пока ни один день не закрылся с прибылью.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000maxPeriodDailyEquityDeltaAtstring · date-time · nullableобязательноДень, в котором был получен maxPeriodDailyEquityDelta. Null вместе с ним.
2026-05-01T12:30:00.000ZconsistencyRuleAppliesbooleanобязательноЯвляется ли правило согласованности частью правил этого счёта в его текущей фазе.
trueconsistencyRuleMetboolean · nullableобязательноВыполняется ли правило в настоящее время. Null, пока период не в прибыли и коэффициент не может быть вычислен.
trueconsistencyRuleRatiostring · fp9 · nullableобязательноДоля прибыли за период, полученная в его лучший день, fp9 в виде необработанной дроби. Null вместе с consistencyRuleMet.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000consistencyRuleLimitstring · fp9обязательноНаибольшая доля прибыли за период, которую может составлять один день, fp9 в виде необработанной дроби (300000000 = 30%). Если коэффициент превышает её, правило не выполняется.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000payoutBaselineBalancestring · fp9обязательноБаланс, от которого отсчитывается следующая выплата, fp9 в необработанном виде. Равен начальному размеру счёта, пока первая выплата не сдвинет его.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000isPayoutBaselineRequirementMetbooleanобязательноПревышает ли собственный капитал payoutBaselineBalance — условие для права запросить выплату.
trueПосмотреть пример
{
"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
}[
{
"accountId": "00000000-0000-4000-8000-000000000000",
"userId": "00000000-0000-4000-8000-000000000000",
"paymentId": "00000000-0000-4000-8000-000000000000",
"challengeId": "challenge1",
"tournamentId": "00000000-0000-4000-8000-000000000000",
"type": "demo",
"initialPhase": "active_evaluation",
"currentPhase": "active_evaluation",
"status": "active",
"profitTarget": "5",
"maxDailyDrawdown": "5",
"maxTotalDrawdown": "10",
"maxTrailingTotalDrawdown": "6",
"drawdownBase": "1000000000",
"maxDrawdownStop": "1000000000",
"minTradingDays": 3,
"suspendedUntil": "2023-10-01T00:00:00.000Z",
"accountBalance": "1000000000",
"initialAccountBalance": "1000000000",
"maxEquity": "1000000000",
"dayStartEquity": "1000000000",
"profitableDays": 0,
"prevPeriodProfitableDays": 0,
"archivedAt": "2026-05-01T12:30:00.000Z",
"archiveRestoreAvailableUntil": "2026-05-01T12:30:00.000Z",
"createdAt": "2026-05-01T12:30:00.000Z",
"failureReason": "archive_expired",
"fundedAt": "2026-05-01T12:30:00.000Z",
"failedAt": "2026-05-01T12:30:00.000Z",
"transitionReviewAt": "2026-05-01T12:30:00.000Z",
"currentWithdrawalPeriodStartedAt": "2026-05-01T12:30:00.000Z",
"fundedLimitUnlockedAt": "2026-05-01T12:30:00.000Z",
"maxWithdrawalAmount": "1000000000",
"payoutBaselineBalance": "1000000000",
"isActiveWithdrawalInPeriod": true,
"profitSplitPercent": 80,
"debt": "1000000000",
"dailyDrawdownProtection": {
"usedAt": "2026-05-01T12:30:00.000Z"
},
"aiFailedReport": true,
"apiTrading": true,
"availableMarkets": "crypto",
"antifraudStatus": "normal",
"tradingLockReason": "string",
"tournament": {
"id": "00000000-0000-4000-8000-000000000000",
"status": "active",
"startDate": "2026-05-01T12:30:00.000Z",
"endDate": "2026-05-01T12:30:00.000Z",
"finalRecalcDone": true
},
"restore": {
"restoreAvailable": true,
"restoreAvailableUntil": "2026-05-01T12:30:00.000Z"
},
"riskStatus": {
"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
}
}
]