{"format":"opendoc-document","version":1,"url":"https://docs.upscale.trade/developers/operations/getaccountsevents","title":"Get the events of the trader account","description":"GET /accounts/events: Lifecycle events across every account of the caller, newest first: challenge purchases, completions and failures, withdrawal requests and payouts, funded…","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/getaccountsevents","markdown":"https://docs.upscale.trade/developers/operations/getaccountsevents.md","json":"https://docs.upscale.trade/developers/operations/getaccountsevents.json"},"translations":{"en":"https://docs.upscale.trade/developers/operations/getaccountsevents","ru":"https://docs.upscale.trade/ru/developers/operations/getaccountsevents","es":"https://docs.upscale.trade/es/developers/operations/getaccountsevents"},"operation":{"id":"getAccountsEvents","method":"GET","path":"/accounts/events","summary":"Get the events of the trader account","description":"Lifecycle events across every account of the caller, newest first: challenge purchases, completions and failures, withdrawal requests and payouts,\nfunded-limit locks and unlocks, demo and tournament accounts being opened or closed.\n\n- Authenticated with an API key, only accounts that have `api_trading` enabled are included.\n- Paginated through `limit` and `offset`; the response carries the total count.","tags":["Accounts"],"deprecated":false,"parameters":[{"name":"limit","location":"query","schema":{"type":"integer","types":["integer"],"example":20,"default":20,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"minimum":1,"maximum":100},"properties":[],"variants":[]},"type":"integer","required":false,"description":"Page size: how many records to return.","example":"20"},{"name":"offset","location":"query","schema":{"type":"integer","types":["integer"],"example":0,"default":0,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"minimum":0,"maximum":9007199254740991},"properties":[],"variants":[]},"type":"integer","required":false,"description":"How many records to skip before the page.","example":"0"}],"bodies":[],"responses":[{"status":"200","description":"Response","mediaType":"application/json","properties":[{"name":"data","type":"object[]","required":true,"description":"Requested page of account events, newest first. The `payload` shape follows `eventType`.","example":"[]","schema":{"type":"object[]","types":["array"],"description":"Requested page of account events, newest first. The `payload` shape follows `eventType`.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":[],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[{"kind":"oneOf","schemas":[{"type":"object","types":["object"],"title":"buy_challenge","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The trader bought a challenge and this account was opened for it.","example":"buy_challenge","schema":{"type":"string · enum","types":["string"],"description":"The trader bought a challenge and this account was opened for it.","enum":["buy_challenge"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What was paid for the challenge.","example":"{\n  \"amount\": \"string\",\n  \"provider\": \"vault\"\n}","schema":{"type":"object","types":["object"],"description":"What was paid for the challenge.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"amount","type":"string","required":true,"description":"Amount paid for the challenge, in the currency of the provider, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount paid for the challenge, in the currency of the provider, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"provider","type":"string · enum","required":true,"description":"Payment rail the challenge was bought through.","example":"vault","schema":{"type":"string · enum","types":["string"],"description":"Payment rail the challenge was bought through.","enum":["vault","calypso","base_pay","telegram","fpay","b2m","onramp","coindisco","easypay","free"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"failed_challenge","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The account broke a drawdown rule and was failed.","example":"failed_challenge","schema":{"type":"string · enum","types":["string"],"description":"The account broke a drawdown rule and was failed.","enum":["failed_challenge"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which rule failed the account.","example":"{\n  \"reason\": \"max_total_drawdown\"\n}","schema":{"type":"object","types":["object"],"description":"Which rule failed the account.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"reason","type":"string · enum","required":true,"description":"Drawdown rule that failed the account.","example":"max_total_drawdown","schema":{"type":"string · enum","types":["string"],"description":"Drawdown rule that failed the account.","enum":["max_total_drawdown","max_trailing_total_drawdown","max_daily_drawdown"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"completed_challenge","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The account passed a phase.","example":"completed_challenge","schema":{"type":"string · enum","types":["string"],"description":"The account passed a phase.","enum":["completed_challenge"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which phase was completed.","example":"{\n  \"phase\": \"active_evaluation\"\n}","schema":{"type":"object","types":["object"],"description":"Which phase was completed.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"phase","type":"string · enum","required":true,"description":"Phase the account completed.","example":"active_evaluation","schema":{"type":"string · enum","types":["string"],"description":"Phase the account completed.","enum":["active_evaluation","active_verification","funded","funded_success"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"withdraw_request","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A payout was requested from the account.","example":"withdraw_request","schema":{"type":"string · enum","types":["string"],"description":"A payout was requested from the account.","enum":["withdraw_request"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What was requested.","example":"{\n  \"amount\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"What was requested.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"amount","type":"string","required":true,"description":"Amount requested for withdrawal, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount requested for withdrawal, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"withdraw_rejected","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A payout request was turned down.","example":"withdraw_rejected","schema":{"type":"string · enum","types":["string"],"description":"A payout request was turned down.","enum":["withdraw_rejected"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What was rejected.","example":"{\n  \"amount\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"What was rejected.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"amount","type":"string","required":true,"description":"Amount of the rejected withdrawal, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount of the rejected withdrawal, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"withdraw_success","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A payout was paid out.","example":"withdraw_success","schema":{"type":"string · enum","types":["string"],"description":"A payout was paid out.","enum":["withdraw_success"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What was paid out.","example":"{\n  \"amount\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"What was paid out.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"amount","type":"string","required":true,"description":"Amount actually paid out, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount actually paid out, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"demo_account_created","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A demo account was opened.","example":"demo_account_created","schema":{"type":"string · enum","types":["string"],"description":"A demo account was opened.","enum":["demo_account_created"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What the demo account was opened with.","example":"{\n  \"challengeId\": \"string\",\n  \"initialBalance\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"What the demo account was opened with.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"challengeId","type":"string","required":true,"description":"Challenge the demo account was modelled on.","example":"string","schema":{"type":"string","types":["string"],"description":"Challenge the demo account was modelled on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialBalance","type":"string","required":true,"description":"Balance the demo account started with, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Balance the demo account started with, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"demo_account_closed","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A demo account was closed.","example":"demo_account_closed","schema":{"type":"string · enum","types":["string"],"description":"A demo account was closed.","enum":["demo_account_closed"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which challenge the closed demo account belonged to.","example":"{\n  \"challengeId\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Which challenge the closed demo account belonged to.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"challengeId","type":"string","required":true,"description":"Challenge of the demo account that was closed.","example":"string","schema":{"type":"string","types":["string"],"description":"Challenge of the demo account that was closed.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"daily_drawdown_protection","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The daily drawdown protection of the account was consumed, saving it from failing that day.","example":"daily_drawdown_protection","schema":{"type":"string · enum","types":["string"],"description":"The daily drawdown protection of the account was consumed, saving it from failing that day.","enum":["daily_drawdown_protection"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which challenge the protection applied to.","example":"{\n  \"challengeId\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Which challenge the protection applied to.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"challengeId","type":"string","required":true,"description":"Challenge of the account whose daily drawdown protection was consumed.","example":"string","schema":{"type":"string","types":["string"],"description":"Challenge of the account whose daily drawdown protection was consumed.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"tournament_account_created","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"An account was opened for a tournament.","example":"tournament_account_created","schema":{"type":"string · enum","types":["string"],"description":"An account was opened for a tournament.","enum":["tournament_account_created"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which tournament the account belongs to and what it started with.","example":"{\n  \"tournamentId\": \"string\",\n  \"challengeId\": \"string\",\n  \"initialBalance\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Which tournament the account belongs to and what it started with.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"tournamentId","type":"string","required":true,"description":"Tournament the account was created for.","example":"string","schema":{"type":"string","types":["string"],"description":"Tournament the account was created for.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"challengeId","type":"string","required":true,"description":"Challenge the tournament account was modelled on.","example":"string","schema":{"type":"string","types":["string"],"description":"Challenge the tournament account was modelled on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialBalance","type":"string","required":true,"description":"Balance the tournament account started with, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Balance the tournament account started with, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"tournament_account_closed","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A tournament account was closed.","example":"tournament_account_closed","schema":{"type":"string · enum","types":["string"],"description":"A tournament account was closed.","enum":["tournament_account_closed"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which tournament ended.","example":"{\n  \"tournamentId\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Which tournament ended.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"tournamentId","type":"string","required":true,"description":"Tournament that ended for this account.","example":"string","schema":{"type":"string","types":["string"],"description":"Tournament that ended for this account.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"funded_limit_locked","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"Trading was locked because the funded capital the user manages reached the limit.","example":"funded_limit_locked","schema":{"type":"string · enum","types":["string"],"description":"Trading was locked because the funded capital the user manages reached the limit.","enum":["funded_limit_locked"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"The capital and limit that triggered the lock.","example":"{\n  \"reason\": \"string\",\n  \"initialAccountBalance\": \"string\",\n  \"currentManagedCapital\": \"string\",\n  \"limit\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"The capital and limit that triggered the lock.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"reason","type":"string","required":true,"description":"Why trading was locked: `auto` for the limit hit on promotion, otherwise the reason an administrator gave.","example":"string","schema":{"type":"string","types":["string"],"description":"Why trading was locked: `auto` for the limit hit on promotion, otherwise the reason an administrator gave.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialAccountBalance","type":"string","required":true,"description":"Nominal size of the account being locked, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Nominal size of the account being locked, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currentManagedCapital","type":"string","required":true,"description":"Funded capital the user already managed before this account, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Funded capital the user already managed before this account, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"limit","type":"string","required":true,"description":"Managed capital limit that applies to the user, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Managed capital limit that applies to the user, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"funded_limit_unlocked","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The managed capital lock was lifted and trading resumed.","example":"funded_limit_unlocked","schema":{"type":"string · enum","types":["string"],"description":"The managed capital lock was lifted and trading resumed.","enum":["funded_limit_unlocked"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Who lifted the lock and against which limit.","example":"{\n  \"initiator\": \"user\",\n  \"reason\": \"string\",\n  \"currentManagedCapital\": \"string\",\n  \"limit\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Who lifted the lock and against which limit.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"initiator","type":"string · enum","required":true,"description":"Who lifted the lock — the trader or an administrator.","example":"user","schema":{"type":"string · enum","types":["string"],"description":"Who lifted the lock — the trader or an administrator.","enum":["user","admin"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"reason","type":"string","required":false,"description":"Reason given for an administrative unlock. Absent when the trader unlocked the account themselves.","example":"string","schema":{"type":"string","types":["string"],"description":"Reason given for an administrative unlock. Absent when the trader unlocked the account themselves.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currentManagedCapital","type":"string","required":true,"description":"Funded capital the user managed at the moment of the unlock, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Funded capital the user managed at the moment of the unlock, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"limit","type":"string","required":true,"description":"Managed capital limit that applies to the user, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Managed capital limit that applies to the user, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"account_restored","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A failed funded account was restored and continues under a new life iteration.","example":"account_restored","schema":{"type":"string · enum","types":["string"],"description":"A failed funded account was restored and continues under a new life iteration.","enum":["account_restored"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What the account was restored from and at what price.","example":"{\n  \"sourceLifeIteration\": 0,\n  \"targetLifeIteration\": 0,\n  \"failedAt\": \"string\",\n  \"previousBalance\": \"string\",\n  \"restoreBalance\": \"string\",\n  \"restorePriceUsd\": \"string\",\n  \"restorePriceStars\": \"string\",\n  \"provider\": \"vault\",\n  \"currency\": \"string\",\n  \"source\": \"user\",\n  \"paymentId\": \"00000000-0000-4000-8000-000000000000\"\n}","schema":{"type":"object","types":["object"],"description":"What the account was restored from and at what price.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"sourceLifeIteration","type":"number","required":true,"description":"Life iteration of the account that failed.","example":"0","schema":{"type":"number","types":["number"],"description":"Life iteration of the account that failed.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"targetLifeIteration","type":"number","required":true,"description":"Life iteration the account continues under after the restore.","example":"0","schema":{"type":"number","types":["number"],"description":"Life iteration the account continues under after the restore.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"failedAt","type":"string","required":true,"description":"When the account failed, ISO-8601. The event timestamp is the moment of the restore.","example":"string","schema":{"type":"string","types":["string"],"description":"When the account failed, ISO-8601. The event timestamp is the moment of the restore.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"previousBalance","type":"string","required":true,"description":"Balance the account carried when it failed, in USD.","example":"string","schema":{"type":"string","types":["string"],"description":"Balance the account carried when it failed, in USD.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"restoreBalance","type":"string","required":true,"description":"Trading balance the restored account starts from, in USD.","example":"string","schema":{"type":"string","types":["string"],"description":"Trading balance the restored account starts from, in USD.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"restorePriceUsd","type":"string","required":true,"description":"Price paid for the restore, in USD. `0` for an administrative restore.","example":"string","schema":{"type":"string","types":["string"],"description":"Price paid for the restore, in USD. `0` for an administrative restore.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"restorePriceStars","type":"string","required":true,"description":"Price paid for the restore, in Telegram Stars.","example":"string","schema":{"type":"string","types":["string"],"description":"Price paid for the restore, in Telegram Stars.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"provider","type":"string · enum · nullable","required":true,"description":"Payment rail the restore was paid through. Null for an administrative restore.","example":"vault","schema":{"type":"string · enum · nullable","types":["string"],"description":"Payment rail the restore was paid through. Null for an administrative restore.","enum":["vault","calypso","base_pay","telegram","fpay","b2m","onramp","coindisco","easypay","free",null],"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currency","type":"string · nullable","required":true,"description":"Currency the restore was paid in. Null for an administrative restore.","example":"string","schema":{"type":"string · nullable","types":["string","null"],"description":"Currency the restore was paid in. Null for an administrative restore.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"source","type":"string · enum","required":true,"description":"Where the restore was requested from.","example":"user","schema":{"type":"string · enum","types":["string"],"description":"Where the restore was requested from.","enum":["user","admin"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"paymentId","type":"string · uuid · nullable","required":true,"description":"Payment behind the restore. Null when it was not paid for.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid · nullable","types":["string"],"description":"Payment behind the restore. Null when it was not paid for.","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":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"account_option_purchased","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"An option was bought for an existing account.","example":"account_option_purchased","schema":{"type":"string · enum","types":["string"],"description":"An option was bought for an existing account.","enum":["account_option_purchased"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which option was bought and what was paid.","example":"{\n  \"optionName\": \"profit_split_90\",\n  \"paymentId\": \"00000000-0000-4000-8000-000000000000\",\n  \"amount\": \"string\",\n  \"amountUsd\": \"string\",\n  \"currency\": \"string\",\n  \"provider\": \"vault\"\n}","schema":{"type":"object","types":["object"],"description":"Which option was bought and what was paid.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"optionName","type":"string · enum","required":true,"description":"Option that was bought for the account.","example":"profit_split_90","schema":{"type":"string · enum","types":["string"],"description":"Option that was bought for the account.","enum":["profit_split_90","daily_drawdown_protection","ai_failed_report","api_trading"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"paymentId","type":"string · uuid","required":true,"description":"Payment the option was bought with.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Payment the option was bought with.","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":"amount","type":"string","required":true,"description":"Amount paid, in the currency of the payment.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount paid, in the currency of the payment.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"amountUsd","type":"string","required":true,"description":"Amount paid, converted to USD.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount paid, converted to USD.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currency","type":"string","required":true,"description":"Currency the option was paid in.","example":"string","schema":{"type":"string","types":["string"],"description":"Currency the option was paid in.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"provider","type":"string · enum","required":true,"description":"Payment rail the option was bought through.","example":"vault","schema":{"type":"string · enum","types":["string"],"description":"Payment rail the option was bought through.","enum":["vault","calypso","base_pay","telegram","fpay","b2m","onramp","coindisco","easypay","free"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]}]}]},"variants":[]}},{"name":"totalCount","type":"number","required":true,"description":"Total number of events across all pages.","example":"0","schema":{"type":"number","types":["number"],"description":"Total number of events across all pages.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"schema":{"type":"object","types":["object"],"reference":"#/components/schemas/AccountsEventsPaginatedResponse","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"data","type":"object[]","required":true,"description":"Requested page of account events, newest first. The `payload` shape follows `eventType`.","example":"[]","schema":{"type":"object[]","types":["array"],"description":"Requested page of account events, newest first. The `payload` shape follows `eventType`.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":[],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[{"kind":"oneOf","schemas":[{"type":"object","types":["object"],"title":"buy_challenge","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The trader bought a challenge and this account was opened for it.","example":"buy_challenge","schema":{"type":"string · enum","types":["string"],"description":"The trader bought a challenge and this account was opened for it.","enum":["buy_challenge"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What was paid for the challenge.","example":"{\n  \"amount\": \"string\",\n  \"provider\": \"vault\"\n}","schema":{"type":"object","types":["object"],"description":"What was paid for the challenge.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"amount","type":"string","required":true,"description":"Amount paid for the challenge, in the currency of the provider, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount paid for the challenge, in the currency of the provider, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"provider","type":"string · enum","required":true,"description":"Payment rail the challenge was bought through.","example":"vault","schema":{"type":"string · enum","types":["string"],"description":"Payment rail the challenge was bought through.","enum":["vault","calypso","base_pay","telegram","fpay","b2m","onramp","coindisco","easypay","free"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"failed_challenge","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The account broke a drawdown rule and was failed.","example":"failed_challenge","schema":{"type":"string · enum","types":["string"],"description":"The account broke a drawdown rule and was failed.","enum":["failed_challenge"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which rule failed the account.","example":"{\n  \"reason\": \"max_total_drawdown\"\n}","schema":{"type":"object","types":["object"],"description":"Which rule failed the account.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"reason","type":"string · enum","required":true,"description":"Drawdown rule that failed the account.","example":"max_total_drawdown","schema":{"type":"string · enum","types":["string"],"description":"Drawdown rule that failed the account.","enum":["max_total_drawdown","max_trailing_total_drawdown","max_daily_drawdown"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"completed_challenge","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The account passed a phase.","example":"completed_challenge","schema":{"type":"string · enum","types":["string"],"description":"The account passed a phase.","enum":["completed_challenge"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which phase was completed.","example":"{\n  \"phase\": \"active_evaluation\"\n}","schema":{"type":"object","types":["object"],"description":"Which phase was completed.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"phase","type":"string · enum","required":true,"description":"Phase the account completed.","example":"active_evaluation","schema":{"type":"string · enum","types":["string"],"description":"Phase the account completed.","enum":["active_evaluation","active_verification","funded","funded_success"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"withdraw_request","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A payout was requested from the account.","example":"withdraw_request","schema":{"type":"string · enum","types":["string"],"description":"A payout was requested from the account.","enum":["withdraw_request"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What was requested.","example":"{\n  \"amount\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"What was requested.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"amount","type":"string","required":true,"description":"Amount requested for withdrawal, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount requested for withdrawal, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"withdraw_rejected","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A payout request was turned down.","example":"withdraw_rejected","schema":{"type":"string · enum","types":["string"],"description":"A payout request was turned down.","enum":["withdraw_rejected"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What was rejected.","example":"{\n  \"amount\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"What was rejected.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"amount","type":"string","required":true,"description":"Amount of the rejected withdrawal, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount of the rejected withdrawal, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"withdraw_success","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A payout was paid out.","example":"withdraw_success","schema":{"type":"string · enum","types":["string"],"description":"A payout was paid out.","enum":["withdraw_success"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What was paid out.","example":"{\n  \"amount\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"What was paid out.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"amount","type":"string","required":true,"description":"Amount actually paid out, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount actually paid out, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"demo_account_created","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A demo account was opened.","example":"demo_account_created","schema":{"type":"string · enum","types":["string"],"description":"A demo account was opened.","enum":["demo_account_created"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What the demo account was opened with.","example":"{\n  \"challengeId\": \"string\",\n  \"initialBalance\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"What the demo account was opened with.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"challengeId","type":"string","required":true,"description":"Challenge the demo account was modelled on.","example":"string","schema":{"type":"string","types":["string"],"description":"Challenge the demo account was modelled on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialBalance","type":"string","required":true,"description":"Balance the demo account started with, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Balance the demo account started with, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"demo_account_closed","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A demo account was closed.","example":"demo_account_closed","schema":{"type":"string · enum","types":["string"],"description":"A demo account was closed.","enum":["demo_account_closed"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which challenge the closed demo account belonged to.","example":"{\n  \"challengeId\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Which challenge the closed demo account belonged to.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"challengeId","type":"string","required":true,"description":"Challenge of the demo account that was closed.","example":"string","schema":{"type":"string","types":["string"],"description":"Challenge of the demo account that was closed.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"daily_drawdown_protection","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The daily drawdown protection of the account was consumed, saving it from failing that day.","example":"daily_drawdown_protection","schema":{"type":"string · enum","types":["string"],"description":"The daily drawdown protection of the account was consumed, saving it from failing that day.","enum":["daily_drawdown_protection"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which challenge the protection applied to.","example":"{\n  \"challengeId\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Which challenge the protection applied to.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"challengeId","type":"string","required":true,"description":"Challenge of the account whose daily drawdown protection was consumed.","example":"string","schema":{"type":"string","types":["string"],"description":"Challenge of the account whose daily drawdown protection was consumed.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"tournament_account_created","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"An account was opened for a tournament.","example":"tournament_account_created","schema":{"type":"string · enum","types":["string"],"description":"An account was opened for a tournament.","enum":["tournament_account_created"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which tournament the account belongs to and what it started with.","example":"{\n  \"tournamentId\": \"string\",\n  \"challengeId\": \"string\",\n  \"initialBalance\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Which tournament the account belongs to and what it started with.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"tournamentId","type":"string","required":true,"description":"Tournament the account was created for.","example":"string","schema":{"type":"string","types":["string"],"description":"Tournament the account was created for.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"challengeId","type":"string","required":true,"description":"Challenge the tournament account was modelled on.","example":"string","schema":{"type":"string","types":["string"],"description":"Challenge the tournament account was modelled on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialBalance","type":"string","required":true,"description":"Balance the tournament account started with, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Balance the tournament account started with, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"tournament_account_closed","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A tournament account was closed.","example":"tournament_account_closed","schema":{"type":"string · enum","types":["string"],"description":"A tournament account was closed.","enum":["tournament_account_closed"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which tournament ended.","example":"{\n  \"tournamentId\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Which tournament ended.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"tournamentId","type":"string","required":true,"description":"Tournament that ended for this account.","example":"string","schema":{"type":"string","types":["string"],"description":"Tournament that ended for this account.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"funded_limit_locked","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"Trading was locked because the funded capital the user manages reached the limit.","example":"funded_limit_locked","schema":{"type":"string · enum","types":["string"],"description":"Trading was locked because the funded capital the user manages reached the limit.","enum":["funded_limit_locked"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"The capital and limit that triggered the lock.","example":"{\n  \"reason\": \"string\",\n  \"initialAccountBalance\": \"string\",\n  \"currentManagedCapital\": \"string\",\n  \"limit\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"The capital and limit that triggered the lock.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"reason","type":"string","required":true,"description":"Why trading was locked: `auto` for the limit hit on promotion, otherwise the reason an administrator gave.","example":"string","schema":{"type":"string","types":["string"],"description":"Why trading was locked: `auto` for the limit hit on promotion, otherwise the reason an administrator gave.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"initialAccountBalance","type":"string","required":true,"description":"Nominal size of the account being locked, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Nominal size of the account being locked, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currentManagedCapital","type":"string","required":true,"description":"Funded capital the user already managed before this account, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Funded capital the user already managed before this account, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"limit","type":"string","required":true,"description":"Managed capital limit that applies to the user, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Managed capital limit that applies to the user, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"funded_limit_unlocked","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"The managed capital lock was lifted and trading resumed.","example":"funded_limit_unlocked","schema":{"type":"string · enum","types":["string"],"description":"The managed capital lock was lifted and trading resumed.","enum":["funded_limit_unlocked"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Who lifted the lock and against which limit.","example":"{\n  \"initiator\": \"user\",\n  \"reason\": \"string\",\n  \"currentManagedCapital\": \"string\",\n  \"limit\": \"string\"\n}","schema":{"type":"object","types":["object"],"description":"Who lifted the lock and against which limit.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"initiator","type":"string · enum","required":true,"description":"Who lifted the lock — the trader or an administrator.","example":"user","schema":{"type":"string · enum","types":["string"],"description":"Who lifted the lock — the trader or an administrator.","enum":["user","admin"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"reason","type":"string","required":false,"description":"Reason given for an administrative unlock. Absent when the trader unlocked the account themselves.","example":"string","schema":{"type":"string","types":["string"],"description":"Reason given for an administrative unlock. Absent when the trader unlocked the account themselves.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currentManagedCapital","type":"string","required":true,"description":"Funded capital the user managed at the moment of the unlock, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Funded capital the user managed at the moment of the unlock, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"limit","type":"string","required":true,"description":"Managed capital limit that applies to the user, fp9 raw.","example":"string","schema":{"type":"string","types":["string"],"description":"Managed capital limit that applies to the user, fp9 raw.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"account_restored","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"A failed funded account was restored and continues under a new life iteration.","example":"account_restored","schema":{"type":"string · enum","types":["string"],"description":"A failed funded account was restored and continues under a new life iteration.","enum":["account_restored"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"What the account was restored from and at what price.","example":"{\n  \"sourceLifeIteration\": 0,\n  \"targetLifeIteration\": 0,\n  \"failedAt\": \"string\",\n  \"previousBalance\": \"string\",\n  \"restoreBalance\": \"string\",\n  \"restorePriceUsd\": \"string\",\n  \"restorePriceStars\": \"string\",\n  \"provider\": \"vault\",\n  \"currency\": \"string\",\n  \"source\": \"user\",\n  \"paymentId\": \"00000000-0000-4000-8000-000000000000\"\n}","schema":{"type":"object","types":["object"],"description":"What the account was restored from and at what price.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"sourceLifeIteration","type":"number","required":true,"description":"Life iteration of the account that failed.","example":"0","schema":{"type":"number","types":["number"],"description":"Life iteration of the account that failed.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"targetLifeIteration","type":"number","required":true,"description":"Life iteration the account continues under after the restore.","example":"0","schema":{"type":"number","types":["number"],"description":"Life iteration the account continues under after the restore.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"failedAt","type":"string","required":true,"description":"When the account failed, ISO-8601. The event timestamp is the moment of the restore.","example":"string","schema":{"type":"string","types":["string"],"description":"When the account failed, ISO-8601. The event timestamp is the moment of the restore.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"previousBalance","type":"string","required":true,"description":"Balance the account carried when it failed, in USD.","example":"string","schema":{"type":"string","types":["string"],"description":"Balance the account carried when it failed, in USD.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"restoreBalance","type":"string","required":true,"description":"Trading balance the restored account starts from, in USD.","example":"string","schema":{"type":"string","types":["string"],"description":"Trading balance the restored account starts from, in USD.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"restorePriceUsd","type":"string","required":true,"description":"Price paid for the restore, in USD. `0` for an administrative restore.","example":"string","schema":{"type":"string","types":["string"],"description":"Price paid for the restore, in USD. `0` for an administrative restore.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"restorePriceStars","type":"string","required":true,"description":"Price paid for the restore, in Telegram Stars.","example":"string","schema":{"type":"string","types":["string"],"description":"Price paid for the restore, in Telegram Stars.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"provider","type":"string · enum · nullable","required":true,"description":"Payment rail the restore was paid through. Null for an administrative restore.","example":"vault","schema":{"type":"string · enum · nullable","types":["string"],"description":"Payment rail the restore was paid through. Null for an administrative restore.","enum":["vault","calypso","base_pay","telegram","fpay","b2m","onramp","coindisco","easypay","free",null],"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currency","type":"string · nullable","required":true,"description":"Currency the restore was paid in. Null for an administrative restore.","example":"string","schema":{"type":"string · nullable","types":["string","null"],"description":"Currency the restore was paid in. Null for an administrative restore.","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"source","type":"string · enum","required":true,"description":"Where the restore was requested from.","example":"user","schema":{"type":"string · enum","types":["string"],"description":"Where the restore was requested from.","enum":["user","admin"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"paymentId","type":"string · uuid · nullable","required":true,"description":"Payment behind the restore. Null when it was not paid for.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid · nullable","types":["string"],"description":"Payment behind the restore. Null when it was not paid for.","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":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]},{"type":"object","types":["object"],"title":"account_option_purchased","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"eventType","type":"string · enum","required":true,"description":"An option was bought for an existing account.","example":"account_option_purchased","schema":{"type":"string · enum","types":["string"],"description":"An option was bought for an existing account.","enum":["account_option_purchased"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"payload","type":"object","required":true,"description":"Which option was bought and what was paid.","example":"{\n  \"optionName\": \"profit_split_90\",\n  \"paymentId\": \"00000000-0000-4000-8000-000000000000\",\n  \"amount\": \"string\",\n  \"amountUsd\": \"string\",\n  \"currency\": \"string\",\n  \"provider\": \"vault\"\n}","schema":{"type":"object","types":["object"],"description":"Which option was bought and what was paid.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"optionName","type":"string · enum","required":true,"description":"Option that was bought for the account.","example":"profit_split_90","schema":{"type":"string · enum","types":["string"],"description":"Option that was bought for the account.","enum":["profit_split_90","daily_drawdown_protection","ai_failed_report","api_trading"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"paymentId","type":"string · uuid","required":true,"description":"Payment the option was bought with.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Payment the option was bought with.","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":"amount","type":"string","required":true,"description":"Amount paid, in the currency of the payment.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount paid, in the currency of the payment.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"amountUsd","type":"string","required":true,"description":"Amount paid, converted to USD.","example":"string","schema":{"type":"string","types":["string"],"description":"Amount paid, converted to USD.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"currency","type":"string","required":true,"description":"Currency the option was paid in.","example":"string","schema":{"type":"string","types":["string"],"description":"Currency the option was paid in.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"provider","type":"string · enum","required":true,"description":"Payment rail the option was bought through.","example":"vault","schema":{"type":"string · enum","types":["string"],"description":"Payment rail the option was bought through.","enum":["vault","calypso","base_pay","telegram","fpay","b2m","onramp","coindisco","easypay","free"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]}},{"name":"id","type":"string · uuid","required":true,"description":"Event identifier.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Event 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":"accountId","type":"string · uuid","required":true,"description":"Trader account the event happened on.","example":"00000000-0000-4000-8000-000000000000","schema":{"type":"string · uuid","types":["string"],"description":"Trader account the event happened on.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]}},{"name":"createdAt","type":"string · date-time","required":true,"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","schema":{"type":"string · date-time","types":["string"],"description":"When the event happened.","example":"2026-05-01T12:30:00.000Z","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"date-time"},"properties":[],"variants":[]}},{"name":"account","type":"object","required":true,"description":"The account as it stands now — not as it was when the event happened.","schema":{"type":"object","types":["object"],"description":"The account as it stands now — not as it was when the event happened.","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 · nullable","required":true,"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","schema":{"type":"string · nullable","types":["string","null"],"description":"Challenge the account runs. Null for demo and tournament accounts.","example":"challenge1","nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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 · nullable","types":["string","null"],"description":"Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.","example":100,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxDailyDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"maxTrailingTotalDrawdown","type":"string · nullable","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 · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","required":true,"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":"3","schema":{"type":"number · nullable","types":["number","null"],"description":"Trading days required before the current phase can be passed. Null when the phase has no minimum.","example":3,"nullable":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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 · nullable","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":"string","schema":{"type":"string · nullable","types":["string","null"],"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":true,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"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":[]}}],"variants":[]}}],"variants":[]}]}]},"variants":[]}},{"name":"totalCount","type":"number","required":true,"description":"Total number of events across all pages.","example":"0","schema":{"type":"number","types":["number"],"description":"Total number of events across all pages.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]},"example":"{\n  \"data\": [],\n  \"totalCount\": 0\n}","headers":[]},{"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":[]}],"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/events' \\\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/events\", {\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/events\",\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 the events of the trader account","url":"https://docs.upscale.trade/developers/operations/getaccountsevents"}],"headings":[{"depth":2,"id":"authorization","title":"Authorization"},{"depth":2,"id":"parameters","title":"Parameters"},{"depth":2,"id":"examples","title":"Examples"},{"depth":2,"id":"responses","title":"Responses"}],"markdown":"# Get the events of the trader account\n\n`GET /accounts/events`\n\nLifecycle events across every account of the caller, newest first: challenge purchases, completions and failures, withdrawal requests and payouts,\nfunded-limit locks and unlocks, demo and tournament accounts being opened or closed.\n\n- Authenticated with an API key, only accounts that have `api_trading` enabled are included.\n- Paginated through `limit` and `offset`; the response carries the total count.\n\n## Authorization\n\nbearer: http · bearer (required). Personal API key, prefixed with `usk_`.\n\n## Parameters\n\n- query: limit (integer; optional). Page size: how many records to return.\n\nType: integer\n\nExample: 20\n\nDefault: 20\n\nminimum: 1\n\nmaximum: 100\n\n- query: offset (integer; optional). How many records to skip before the page.\n\nType: integer\n\nExample: 0\n\nDefault: 0\n\nminimum: 0\n\nmaximum: 9007199254740991\n\n## Example · cURL\n\n```bash\ncurl --request GET 'https://api.upscale.trade/accounts/events' \\\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/events\", {\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/events\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)\n```\n\n## Response 200 · AccountsEventsPaginatedResponse\n\n**200** application/json — Response\n\nSchema: AccountsEventsPaginatedResponse\n\nType: object\n\nRequired fields: data, totalCount\n\nRequired field types: data (object[]; required), totalCount (number; required)\n\n- data (object[]; required)\n\ndata example: []\n\ndata.Type: object[]\n\ndata.Requested page of account events, newest first. The `payload` shape follows `eventType`.\n\ndata.[]Type: object\n\ndata.[]oneOf variant 1\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: buy_challenge\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.The trader bought a challenge and this account was opened for it.\n\ndata.[]eventType.Allowed values: [\"buy_challenge\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"amount\": \"string\",\n  \"provider\": \"vault\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: amount, provider\n\ndata.[]payload.Required field types: amount (string; required), provider (string · enum; required)\n\ndata.[]payload.What was paid for the challenge.\n\n- data.[]payload.amount (string; required)\n\ndata.[]payload.amount example: string\n\ndata.[]payload.amount.Type: string\n\ndata.[]payload.amount.Amount paid for the challenge, in the currency of the provider, fp9 raw.\n\n- data.[]payload.provider (string · enum; required)\n\ndata.[]payload.provider example: vault\n\ndata.[]payload.provider.Type: string · enum\n\ndata.[]payload.provider.Payment rail the challenge was bought through.\n\ndata.[]payload.provider.Allowed values: [\"vault\",\"calypso\",\"base_pay\",\"telegram\",\"fpay\",\"b2m\",\"onramp\",\"coindisco\",\"easypay\",\"free\"]\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 2\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: failed_challenge\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.The account broke a drawdown rule and was failed.\n\ndata.[]eventType.Allowed values: [\"failed_challenge\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"reason\": \"max_total_drawdown\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: reason\n\ndata.[]payload.Required field types: reason (string · enum; required)\n\ndata.[]payload.Which rule failed the account.\n\n- data.[]payload.reason (string · enum; required)\n\ndata.[]payload.reason example: max_total_drawdown\n\ndata.[]payload.reason.Type: string · enum\n\ndata.[]payload.reason.Drawdown rule that failed the account.\n\ndata.[]payload.reason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\"]\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 3\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: completed_challenge\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.The account passed a phase.\n\ndata.[]eventType.Allowed values: [\"completed_challenge\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"phase\": \"active_evaluation\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: phase\n\ndata.[]payload.Required field types: phase (string · enum; required)\n\ndata.[]payload.Which phase was completed.\n\n- data.[]payload.phase (string · enum; required)\n\ndata.[]payload.phase example: active_evaluation\n\ndata.[]payload.phase.Type: string · enum\n\ndata.[]payload.phase.Phase the account completed.\n\ndata.[]payload.phase.Allowed values: [\"active_evaluation\",\"active_verification\",\"funded\",\"funded_success\"]\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 4\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: withdraw_request\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.A payout was requested from the account.\n\ndata.[]eventType.Allowed values: [\"withdraw_request\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"amount\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: amount\n\ndata.[]payload.Required field types: amount (string; required)\n\ndata.[]payload.What was requested.\n\n- data.[]payload.amount (string; required)\n\ndata.[]payload.amount example: string\n\ndata.[]payload.amount.Type: string\n\ndata.[]payload.amount.Amount requested for withdrawal, fp9 raw.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 5\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: withdraw_rejected\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.A payout request was turned down.\n\ndata.[]eventType.Allowed values: [\"withdraw_rejected\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"amount\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: amount\n\ndata.[]payload.Required field types: amount (string; required)\n\ndata.[]payload.What was rejected.\n\n- data.[]payload.amount (string; required)\n\ndata.[]payload.amount example: string\n\ndata.[]payload.amount.Type: string\n\ndata.[]payload.amount.Amount of the rejected withdrawal, fp9 raw.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 6\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: withdraw_success\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.A payout was paid out.\n\ndata.[]eventType.Allowed values: [\"withdraw_success\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"amount\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: amount\n\ndata.[]payload.Required field types: amount (string; required)\n\ndata.[]payload.What was paid out.\n\n- data.[]payload.amount (string; required)\n\ndata.[]payload.amount example: string\n\ndata.[]payload.amount.Type: string\n\ndata.[]payload.amount.Amount actually paid out, fp9 raw.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 7\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: demo_account_created\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.A demo account was opened.\n\ndata.[]eventType.Allowed values: [\"demo_account_created\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"challengeId\": \"string\",\n  \"initialBalance\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: challengeId, initialBalance\n\ndata.[]payload.Required field types: challengeId (string; required), initialBalance (string; required)\n\ndata.[]payload.What the demo account was opened with.\n\n- data.[]payload.challengeId (string; required)\n\ndata.[]payload.challengeId example: string\n\ndata.[]payload.challengeId.Type: string\n\ndata.[]payload.challengeId.Challenge the demo account was modelled on.\n\n- data.[]payload.initialBalance (string; required)\n\ndata.[]payload.initialBalance example: string\n\ndata.[]payload.initialBalance.Type: string\n\ndata.[]payload.initialBalance.Balance the demo account started with, fp9 raw.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 8\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: demo_account_closed\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.A demo account was closed.\n\ndata.[]eventType.Allowed values: [\"demo_account_closed\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"challengeId\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: challengeId\n\ndata.[]payload.Required field types: challengeId (string; required)\n\ndata.[]payload.Which challenge the closed demo account belonged to.\n\n- data.[]payload.challengeId (string; required)\n\ndata.[]payload.challengeId example: string\n\ndata.[]payload.challengeId.Type: string\n\ndata.[]payload.challengeId.Challenge of the demo account that was closed.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 9\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: daily_drawdown_protection\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.The daily drawdown protection of the account was consumed, saving it from failing that day.\n\ndata.[]eventType.Allowed values: [\"daily_drawdown_protection\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"challengeId\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: challengeId\n\ndata.[]payload.Required field types: challengeId (string; required)\n\ndata.[]payload.Which challenge the protection applied to.\n\n- data.[]payload.challengeId (string; required)\n\ndata.[]payload.challengeId example: string\n\ndata.[]payload.challengeId.Type: string\n\ndata.[]payload.challengeId.Challenge of the account whose daily drawdown protection was consumed.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 10\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: tournament_account_created\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.An account was opened for a tournament.\n\ndata.[]eventType.Allowed values: [\"tournament_account_created\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"tournamentId\": \"string\",\n  \"challengeId\": \"string\",\n  \"initialBalance\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: tournamentId, challengeId, initialBalance\n\ndata.[]payload.Required field types: tournamentId (string; required), challengeId (string; required), initialBalance (string; required)\n\ndata.[]payload.Which tournament the account belongs to and what it started with.\n\n- data.[]payload.tournamentId (string; required)\n\ndata.[]payload.tournamentId example: string\n\ndata.[]payload.tournamentId.Type: string\n\ndata.[]payload.tournamentId.Tournament the account was created for.\n\n- data.[]payload.challengeId (string; required)\n\ndata.[]payload.challengeId example: string\n\ndata.[]payload.challengeId.Type: string\n\ndata.[]payload.challengeId.Challenge the tournament account was modelled on.\n\n- data.[]payload.initialBalance (string; required)\n\ndata.[]payload.initialBalance example: string\n\ndata.[]payload.initialBalance.Type: string\n\ndata.[]payload.initialBalance.Balance the tournament account started with, fp9 raw.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 11\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: tournament_account_closed\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.A tournament account was closed.\n\ndata.[]eventType.Allowed values: [\"tournament_account_closed\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"tournamentId\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: tournamentId\n\ndata.[]payload.Required field types: tournamentId (string; required)\n\ndata.[]payload.Which tournament ended.\n\n- data.[]payload.tournamentId (string; required)\n\ndata.[]payload.tournamentId example: string\n\ndata.[]payload.tournamentId.Type: string\n\ndata.[]payload.tournamentId.Tournament that ended for this account.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 12\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: funded_limit_locked\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.Trading was locked because the funded capital the user manages reached the limit.\n\ndata.[]eventType.Allowed values: [\"funded_limit_locked\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"reason\": \"string\",\n  \"initialAccountBalance\": \"string\",\n  \"currentManagedCapital\": \"string\",\n  \"limit\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: reason, initialAccountBalance, currentManagedCapital, limit\n\ndata.[]payload.Required field types: reason (string; required), initialAccountBalance (string; required), currentManagedCapital (string; required), limit (string; required)\n\ndata.[]payload.The capital and limit that triggered the lock.\n\n- data.[]payload.reason (string; required)\n\ndata.[]payload.reason example: string\n\ndata.[]payload.reason.Type: string\n\ndata.[]payload.reason.Why trading was locked: `auto` for the limit hit on promotion, otherwise the reason an administrator gave.\n\n- data.[]payload.initialAccountBalance (string; required)\n\ndata.[]payload.initialAccountBalance example: string\n\ndata.[]payload.initialAccountBalance.Type: string\n\ndata.[]payload.initialAccountBalance.Nominal size of the account being locked, fp9 raw.\n\n- data.[]payload.currentManagedCapital (string; required)\n\ndata.[]payload.currentManagedCapital example: string\n\ndata.[]payload.currentManagedCapital.Type: string\n\ndata.[]payload.currentManagedCapital.Funded capital the user already managed before this account, fp9 raw.\n\n- data.[]payload.limit (string; required)\n\ndata.[]payload.limit example: string\n\ndata.[]payload.limit.Type: string\n\ndata.[]payload.limit.Managed capital limit that applies to the user, fp9 raw.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 13\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: funded_limit_unlocked\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.The managed capital lock was lifted and trading resumed.\n\ndata.[]eventType.Allowed values: [\"funded_limit_unlocked\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"initiator\": \"user\",\n  \"reason\": \"string\",\n  \"currentManagedCapital\": \"string\",\n  \"limit\": \"string\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: initiator, currentManagedCapital, limit\n\ndata.[]payload.Required field types: initiator (string · enum; required), currentManagedCapital (string; required), limit (string; required)\n\ndata.[]payload.Who lifted the lock and against which limit.\n\n- data.[]payload.initiator (string · enum; required)\n\ndata.[]payload.initiator example: user\n\ndata.[]payload.initiator.Type: string · enum\n\ndata.[]payload.initiator.Who lifted the lock — the trader or an administrator.\n\ndata.[]payload.initiator.Allowed values: [\"user\",\"admin\"]\n\n- data.[]payload.reason (string; optional)\n\ndata.[]payload.reason example: string\n\ndata.[]payload.reason.Type: string\n\ndata.[]payload.reason.Reason given for an administrative unlock. Absent when the trader unlocked the account themselves.\n\n- data.[]payload.currentManagedCapital (string; required)\n\ndata.[]payload.currentManagedCapital example: string\n\ndata.[]payload.currentManagedCapital.Type: string\n\ndata.[]payload.currentManagedCapital.Funded capital the user managed at the moment of the unlock, fp9 raw.\n\n- data.[]payload.limit (string; required)\n\ndata.[]payload.limit example: string\n\ndata.[]payload.limit.Type: string\n\ndata.[]payload.limit.Managed capital limit that applies to the user, fp9 raw.\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 14\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: account_restored\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.A failed funded account was restored and continues under a new life iteration.\n\ndata.[]eventType.Allowed values: [\"account_restored\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"sourceLifeIteration\": 0,\n  \"targetLifeIteration\": 0,\n  \"failedAt\": \"string\",\n  \"previousBalance\": \"string\",\n  \"restoreBalance\": \"string\",\n  \"restorePriceUsd\": \"string\",\n  \"restorePriceStars\": \"string\",\n  \"provider\": \"vault\",\n  \"currency\": \"string\",\n  \"source\": \"user\",\n  \"paymentId\": \"00000000-0000-4000-8000-000000000000\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: sourceLifeIteration, targetLifeIteration, failedAt, previousBalance, restoreBalance, restorePriceUsd, restorePriceStars, provider, currency, source, paymentId\n\ndata.[]payload.Required field types: sourceLifeIteration (number; required), targetLifeIteration (number; required), failedAt (string; required), previousBalance (string; required), restoreBalance (string; required), restorePriceUsd (string; required), restorePriceStars (string; required), provider (string · enum · nullable; required), currency (string · nullable; required), source (string · enum; required), paymentId (string · uuid · nullable; required)\n\ndata.[]payload.What the account was restored from and at what price.\n\n- data.[]payload.sourceLifeIteration (number; required)\n\ndata.[]payload.sourceLifeIteration example: 0\n\ndata.[]payload.sourceLifeIteration.Type: number\n\ndata.[]payload.sourceLifeIteration.Life iteration of the account that failed.\n\n- data.[]payload.targetLifeIteration (number; required)\n\ndata.[]payload.targetLifeIteration example: 0\n\ndata.[]payload.targetLifeIteration.Type: number\n\ndata.[]payload.targetLifeIteration.Life iteration the account continues under after the restore.\n\n- data.[]payload.failedAt (string; required)\n\ndata.[]payload.failedAt example: string\n\ndata.[]payload.failedAt.Type: string\n\ndata.[]payload.failedAt.When the account failed, ISO-8601. The event timestamp is the moment of the restore.\n\n- data.[]payload.previousBalance (string; required)\n\ndata.[]payload.previousBalance example: string\n\ndata.[]payload.previousBalance.Type: string\n\ndata.[]payload.previousBalance.Balance the account carried when it failed, in USD.\n\n- data.[]payload.restoreBalance (string; required)\n\ndata.[]payload.restoreBalance example: string\n\ndata.[]payload.restoreBalance.Type: string\n\ndata.[]payload.restoreBalance.Trading balance the restored account starts from, in USD.\n\n- data.[]payload.restorePriceUsd (string; required)\n\ndata.[]payload.restorePriceUsd example: string\n\ndata.[]payload.restorePriceUsd.Type: string\n\ndata.[]payload.restorePriceUsd.Price paid for the restore, in USD. `0` for an administrative restore.\n\n- data.[]payload.restorePriceStars (string; required)\n\ndata.[]payload.restorePriceStars example: string\n\ndata.[]payload.restorePriceStars.Type: string\n\ndata.[]payload.restorePriceStars.Price paid for the restore, in Telegram Stars.\n\n- data.[]payload.provider (string · enum · nullable; required)\n\ndata.[]payload.provider example: vault\n\ndata.[]payload.provider.Type: string · enum · nullable\n\ndata.[]payload.provider.Payment rail the restore was paid through. Null for an administrative restore.\n\ndata.[]payload.provider.Allowed values: [\"vault\",\"calypso\",\"base_pay\",\"telegram\",\"fpay\",\"b2m\",\"onramp\",\"coindisco\",\"easypay\",\"free\",null]\n\n- data.[]payload.currency (string · nullable; required)\n\ndata.[]payload.currency example: string\n\ndata.[]payload.currency.Type: string · nullable\n\ndata.[]payload.currency.Currency the restore was paid in. Null for an administrative restore.\n\n- data.[]payload.source (string · enum; required)\n\ndata.[]payload.source example: user\n\ndata.[]payload.source.Type: string · enum\n\ndata.[]payload.source.Where the restore was requested from.\n\ndata.[]payload.source.Allowed values: [\"user\",\"admin\"]\n\n- data.[]payload.paymentId (string · uuid · nullable; required)\n\ndata.[]payload.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]payload.paymentId.Type: string · uuid · nullable\n\ndata.[]payload.paymentId.Payment behind the restore. Null when it was not paid for.\n\ndata.[]payload.paymentId.format: uuid\n\ndata.[]payload.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- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\ndata.[]oneOf variant 15\n\ndata.[]Type: object\n\ndata.[]Required fields: eventType, payload, id, accountId, createdAt, account\n\ndata.[]Required field types: eventType (string · enum; required), payload (object; required), id (string · uuid; required), accountId (string · uuid; required), createdAt (string · date-time; required), account (object; required)\n\n- data.[]eventType (string · enum; required)\n\ndata.[]eventType example: account_option_purchased\n\ndata.[]eventType.Type: string · enum\n\ndata.[]eventType.An option was bought for an existing account.\n\ndata.[]eventType.Allowed values: [\"account_option_purchased\"]\n\n- data.[]payload (object; required)\n\ndata.[]payload example: {\n  \"optionName\": \"profit_split_90\",\n  \"paymentId\": \"00000000-0000-4000-8000-000000000000\",\n  \"amount\": \"string\",\n  \"amountUsd\": \"string\",\n  \"currency\": \"string\",\n  \"provider\": \"vault\"\n}\n\ndata.[]payload.Type: object\n\ndata.[]payload.Required fields: optionName, paymentId, amount, amountUsd, currency, provider\n\ndata.[]payload.Required field types: optionName (string · enum; required), paymentId (string · uuid; required), amount (string; required), amountUsd (string; required), currency (string; required), provider (string · enum; required)\n\ndata.[]payload.Which option was bought and what was paid.\n\n- data.[]payload.optionName (string · enum; required)\n\ndata.[]payload.optionName example: profit_split_90\n\ndata.[]payload.optionName.Type: string · enum\n\ndata.[]payload.optionName.Option that was bought for the account.\n\ndata.[]payload.optionName.Allowed values: [\"profit_split_90\",\"daily_drawdown_protection\",\"ai_failed_report\",\"api_trading\"]\n\n- data.[]payload.paymentId (string · uuid; required)\n\ndata.[]payload.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]payload.paymentId.Type: string · uuid\n\ndata.[]payload.paymentId.Payment the option was bought with.\n\ndata.[]payload.paymentId.format: uuid\n\ndata.[]payload.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- data.[]payload.amount (string; required)\n\ndata.[]payload.amount example: string\n\ndata.[]payload.amount.Type: string\n\ndata.[]payload.amount.Amount paid, in the currency of the payment.\n\n- data.[]payload.amountUsd (string; required)\n\ndata.[]payload.amountUsd example: string\n\ndata.[]payload.amountUsd.Type: string\n\ndata.[]payload.amountUsd.Amount paid, converted to USD.\n\n- data.[]payload.currency (string; required)\n\ndata.[]payload.currency example: string\n\ndata.[]payload.currency.Type: string\n\ndata.[]payload.currency.Currency the option was paid in.\n\n- data.[]payload.provider (string · enum; required)\n\ndata.[]payload.provider example: vault\n\ndata.[]payload.provider.Type: string · enum\n\ndata.[]payload.provider.Payment rail the option was bought through.\n\ndata.[]payload.provider.Allowed values: [\"vault\",\"calypso\",\"base_pay\",\"telegram\",\"fpay\",\"b2m\",\"onramp\",\"coindisco\",\"easypay\",\"free\"]\n\n- data.[]id (string · uuid; required)\n\ndata.[]id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]id.Type: string · uuid\n\ndata.[]id.Event identifier.\n\ndata.[]id.format: uuid\n\ndata.[]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- data.[]accountId (string · uuid; required)\n\ndata.[]accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]accountId.Type: string · uuid\n\ndata.[]accountId.Trader account the event happened on.\n\ndata.[]accountId.format: uuid\n\n- data.[]createdAt (string · date-time; required)\n\ndata.[]createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]createdAt.Type: string · date-time\n\ndata.[]createdAt.When the event happened.\n\ndata.[]createdAt.format: date-time\n\n- data.[]account (object; required)\n\ndata.[]account.Type: object\n\ndata.[]account.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\n\ndata.[]account.Required field types: accountId (string · uuid; required), userId (string · uuid; required), paymentId (string · uuid · nullable; required), challengeId (string · nullable; required), tournamentId (string · uuid · nullable; required), type (string · enum; required), initialPhase (string; required), currentPhase (string; required), status (string · enum; required), profitTarget (string · nullable; required), maxDailyDrawdown (string · nullable; required), maxTotalDrawdown (string · nullable; required), maxTrailingTotalDrawdown (string · nullable; required), drawdownBase (string · int32 · nullable; required), maxDrawdownStop (string · int32 · nullable; required), minTradingDays (number · nullable; 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 · nullable; required), tournament (object · nullable; required), restore (object; required)\n\ndata.[]account.The account as it stands now — not as it was when the event happened.\n\n- data.[]account.accountId (string · uuid; required)\n\ndata.[]account.accountId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.accountId.Type: string · uuid\n\ndata.[]account.accountId.Trader account identifier.\n\ndata.[]account.accountId.format: uuid\n\ndata.[]account.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- data.[]account.userId (string · uuid; required)\n\ndata.[]account.userId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.userId.Type: string · uuid\n\ndata.[]account.userId.Owner of the account.\n\ndata.[]account.userId.format: uuid\n\ndata.[]account.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- data.[]account.paymentId (string · uuid · nullable; required)\n\ndata.[]account.paymentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.paymentId.Type: string · uuid · nullable\n\ndata.[]account.paymentId.Payment the challenge behind this account was bought with. Null for accounts that were not purchased.\n\ndata.[]account.paymentId.format: uuid\n\ndata.[]account.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- data.[]account.challengeId (string · nullable; required)\n\ndata.[]account.challengeId example: challenge1\n\ndata.[]account.challengeId.Type: string · nullable\n\ndata.[]account.challengeId.Challenge the account runs. Null for demo and tournament accounts.\n\n- data.[]account.tournamentId (string · uuid · nullable; required)\n\ndata.[]account.tournamentId example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournamentId.Type: string · uuid · nullable\n\ndata.[]account.tournamentId.Tournament the account was created for. Null outside tournament accounts.\n\ndata.[]account.tournamentId.format: uuid\n\ndata.[]account.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- data.[]account.type (string · enum; required)\n\ndata.[]account.type example: demo\n\ndata.[]account.type.Type: string · enum\n\ndata.[]account.type.Account kind: a paid challenge (`real`), a `demo` account, or a `tournament` entry.\n\ndata.[]account.type.Allowed values: [\"demo\",\"real\",\"tournament\"]\n\n- data.[]account.initialPhase (string; required)\n\ndata.[]account.initialPhase example: active_evaluation\n\ndata.[]account.initialPhase.Type: string\n\ndata.[]account.initialPhase.Phase the account started in.\n\n- data.[]account.currentPhase (string; required)\n\ndata.[]account.currentPhase example: active_evaluation\n\ndata.[]account.currentPhase.Type: string\n\ndata.[]account.currentPhase.Phase the account is in now: `active_evaluation`, `active_verification`, `funded`, or `funded_success` once it has enough profitable days.\n\n- data.[]account.status (string · enum; required)\n\ndata.[]account.status example: active\n\ndata.[]account.status.Type: string · enum\n\ndata.[]account.status.Account status. Trading is possible on `active`; the `trading_locked_*` statuses only allow closing, and the rest stop trading entirely.\n\ndata.[]account.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- data.[]account.profitTarget (string · nullable; required)\n\ndata.[]account.profitTarget.Type: string · nullable\n\ndata.[]account.profitTarget.Profit needed to pass the current phase, in percent of the initial balance. Null when the phase has no target.\n\n- data.[]account.maxDailyDrawdown (string · nullable; required)\n\ndata.[]account.maxDailyDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.maxTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTotalDrawdown.Type: string · nullable\n\ndata.[]account.maxTotalDrawdown.Total drawdown limit of the current phase, in percent of the initial balance. Null when the phase has no total limit.\n\n- data.[]account.maxTrailingTotalDrawdown (string · nullable; required)\n\ndata.[]account.maxTrailingTotalDrawdown.Type: string · nullable\n\ndata.[]account.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- data.[]account.drawdownBase (string · int32 · nullable; required)\n\ndata.[]account.drawdownBase example: 1000000000\n\ndata.[]account.drawdownBase.Type: string · int32 · nullable\n\ndata.[]account.drawdownBase.Equity the funded-phase drawdown is measured from, fp9 raw. Null while it is measured from the initial balance.\n\ndata.[]account.drawdownBase.format: int32\n\ndata.[]account.drawdownBase.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxDrawdownStop (string · int32 · nullable; required)\n\ndata.[]account.maxDrawdownStop example: 1000000000\n\ndata.[]account.maxDrawdownStop.Type: string · int32 · nullable\n\ndata.[]account.maxDrawdownStop.Equity level at which the funded-phase drawdown fails the account, fp9 raw. Null while it is derived from the initial balance.\n\ndata.[]account.maxDrawdownStop.format: int32\n\ndata.[]account.maxDrawdownStop.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.minTradingDays (number · nullable; required)\n\ndata.[]account.minTradingDays example: 3\n\ndata.[]account.minTradingDays.Type: number · nullable\n\ndata.[]account.minTradingDays.Trading days required before the current phase can be passed. Null when the phase has no minimum.\n\n- data.[]account.suspendedUntil (string · date-time · nullable; required)\n\ndata.[]account.suspendedUntil example: 2023-10-01T00:00:00.000Z\n\ndata.[]account.suspendedUntil.Type: string · date-time · nullable\n\ndata.[]account.suspendedUntil.When a suspension of the account lifts. Null when it is not suspended.\n\ndata.[]account.suspendedUntil.format: date-time\n\n- data.[]account.accountBalance (string · int32; required)\n\ndata.[]account.accountBalance example: 1000000000\n\ndata.[]account.accountBalance.Type: string · int32\n\ndata.[]account.accountBalance.Balance without the unrealised pnl of open positions, fp9 raw.\n\ndata.[]account.accountBalance.format: int32\n\ndata.[]account.accountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.initialAccountBalance (string · int32; required)\n\ndata.[]account.initialAccountBalance example: 1000000000\n\ndata.[]account.initialAccountBalance.Type: string · int32\n\ndata.[]account.initialAccountBalance.Balance the account was opened with, fp9 raw — the nominal size of the challenge.\n\ndata.[]account.initialAccountBalance.format: int32\n\ndata.[]account.initialAccountBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.maxEquity (string · int32 · nullable; required)\n\ndata.[]account.maxEquity example: 1000000000\n\ndata.[]account.maxEquity.Type: string · int32 · nullable\n\ndata.[]account.maxEquity.Highest equity the account has reached, fp9 raw. Null before the first trade.\n\ndata.[]account.maxEquity.format: int32\n\ndata.[]account.maxEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dayStartEquity (string · int32 · nullable; required)\n\ndata.[]account.dayStartEquity example: 1000000000\n\ndata.[]account.dayStartEquity.Type: string · int32 · nullable\n\ndata.[]account.dayStartEquity.Equity the current trading day opened at, fp9 raw.\n\ndata.[]account.dayStartEquity.format: int32\n\ndata.[]account.dayStartEquity.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.profitableDays (number; required)\n\ndata.[]account.profitableDays example: 0\n\ndata.[]account.profitableDays.Type: number\n\ndata.[]account.profitableDays.Profitable days counted in the current withdrawal period.\n\n- data.[]account.prevPeriodProfitableDays (number; required)\n\ndata.[]account.prevPeriodProfitableDays example: 0\n\ndata.[]account.prevPeriodProfitableDays.Type: number\n\ndata.[]account.prevPeriodProfitableDays.Profitable days counted in the previous withdrawal period.\n\n- data.[]account.createdAt (string · date-time; required)\n\ndata.[]account.createdAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.createdAt.Type: string · date-time\n\ndata.[]account.createdAt.When the account was created.\n\ndata.[]account.createdAt.format: date-time\n\n- data.[]account.failureReason (string · enum · nullable; required)\n\ndata.[]account.failureReason example: max_total_drawdown\n\ndata.[]account.failureReason.Type: string · enum · nullable\n\ndata.[]account.failureReason.Rule that failed the account. Null while it has not failed.\n\ndata.[]account.failureReason.Allowed values: [\"max_total_drawdown\",\"max_trailing_total_drawdown\",\"max_daily_drawdown\",null]\n\n- data.[]account.fundedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedAt.Type: string · date-time · nullable\n\ndata.[]account.fundedAt.When the account reached the funded phase. Null before that.\n\ndata.[]account.fundedAt.format: date-time\n\n- data.[]account.failedAt (string · date-time · nullable; required)\n\ndata.[]account.failedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.failedAt.Type: string · date-time · nullable\n\ndata.[]account.failedAt.When the account failed. Null while it has not.\n\ndata.[]account.failedAt.format: date-time\n\n- data.[]account.transitionReviewAt (string · date-time · nullable; required)\n\ndata.[]account.transitionReviewAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.transitionReviewAt.Type: string · date-time · nullable\n\ndata.[]account.transitionReviewAt.When the phase transition was sent for manual review. Null when no review is pending.\n\ndata.[]account.transitionReviewAt.format: date-time\n\n- data.[]account.currentWithdrawalPeriodStartedAt (string · date-time · nullable; required)\n\ndata.[]account.currentWithdrawalPeriodStartedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Type: string · date-time · nullable\n\ndata.[]account.currentWithdrawalPeriodStartedAt.Start of the running withdrawal period. Null while none is running.\n\ndata.[]account.currentWithdrawalPeriodStartedAt.format: date-time\n\n- data.[]account.fundedLimitUnlockedAt (string · date-time · nullable; required)\n\ndata.[]account.fundedLimitUnlockedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.fundedLimitUnlockedAt.Type: string · date-time · nullable\n\ndata.[]account.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\ndata.[]account.fundedLimitUnlockedAt.format: date-time\n\n- data.[]account.maxWithdrawalAmount (string · int32; required)\n\ndata.[]account.maxWithdrawalAmount example: 1000000000\n\ndata.[]account.maxWithdrawalAmount.Type: string · int32\n\ndata.[]account.maxWithdrawalAmount.Largest amount that may be withdrawn from the account right now, fp9 raw.\n\ndata.[]account.maxWithdrawalAmount.format: int32\n\ndata.[]account.maxWithdrawalAmount.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.payoutBaselineBalance (string · int32; required)\n\ndata.[]account.payoutBaselineBalance example: 1000000000\n\ndata.[]account.payoutBaselineBalance.Type: string · int32\n\ndata.[]account.payoutBaselineBalance.Balance the next payout is measured from, fp9 raw. Equal to the initial balance until the first payout moves it.\n\ndata.[]account.payoutBaselineBalance.format: int32\n\ndata.[]account.payoutBaselineBalance.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.isActiveWithdrawalInPeriod (boolean; required)\n\ndata.[]account.isActiveWithdrawalInPeriod example: true\n\ndata.[]account.isActiveWithdrawalInPeriod.Type: boolean\n\ndata.[]account.isActiveWithdrawalInPeriod.Whether a withdrawal request is already in flight for the current period.\n\n- data.[]account.profitSplitPercent (number; required)\n\ndata.[]account.profitSplitPercent example: 80\n\ndata.[]account.profitSplitPercent.Type: number\n\ndata.[]account.profitSplitPercent.Share of the profit paid out to the trader, in percent.\n\n- data.[]account.debt (string · int32; required)\n\ndata.[]account.debt example: 1000000000\n\ndata.[]account.debt.Type: string · int32\n\ndata.[]account.debt.Outstanding promo-discount debt of the account, fp9 raw. Withheld from the next payout; `0` when there is none.\n\ndata.[]account.debt.format: int32\n\ndata.[]account.debt.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- data.[]account.dailyDrawdownProtection (object · nullable; required)\n\ndata.[]account.dailyDrawdownProtection example: {\n  \"usedAt\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.dailyDrawdownProtection.Type: object · nullable\n\ndata.[]account.dailyDrawdownProtection.Required fields: usedAt\n\ndata.[]account.dailyDrawdownProtection.Required field types: usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.Daily drawdown protection of the account. Null when the account does not carry the option.\n\n- data.[]account.dailyDrawdownProtection.usedAt (string · date-time · nullable; required)\n\ndata.[]account.dailyDrawdownProtection.usedAt example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.dailyDrawdownProtection.usedAt.Type: string · date-time · nullable\n\ndata.[]account.dailyDrawdownProtection.usedAt.When the protection was consumed. Null while it is still available.\n\ndata.[]account.dailyDrawdownProtection.usedAt.format: date-time\n\n- data.[]account.aiFailedReport (boolean; required)\n\ndata.[]account.aiFailedReport example: true\n\ndata.[]account.aiFailedReport.Type: boolean\n\ndata.[]account.aiFailedReport.Whether an automated report has been produced for the failure of this account.\n\n- data.[]account.apiTrading (boolean; required)\n\ndata.[]account.apiTrading example: true\n\ndata.[]account.apiTrading.Type: boolean\n\ndata.[]account.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- data.[]account.availableMarkets (string · enum; required)\n\ndata.[]account.availableMarkets example: crypto\n\ndata.[]account.availableMarkets.Type: string · enum\n\ndata.[]account.availableMarkets.Market category the account may trade: `crypto`, `rwa`, or `all`.\n\ndata.[]account.availableMarkets.Allowed values: [\"crypto\",\"rwa\",\"all\"]\n\n- data.[]account.antifraudStatus (string · enum; required)\n\ndata.[]account.antifraudStatus example: normal\n\ndata.[]account.antifraudStatus.Type: string · enum\n\ndata.[]account.antifraudStatus.Antifraud state of the account; anything other than `normal` marks it for review.\n\ndata.[]account.antifraudStatus.Allowed values: [\"normal\",\"test_account\",\"balance_exceeded\",\"manually_flagged\",\"manually_cleared\"]\n\n- data.[]account.tradingLockReason (string · nullable; required)\n\ndata.[]account.tradingLockReason example: string\n\ndata.[]account.tradingLockReason.Type: string · nullable\n\ndata.[]account.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- data.[]account.tournament (object · nullable; required)\n\ndata.[]account.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\ndata.[]account.tournament.Type: object · nullable\n\ndata.[]account.tournament.Required fields: id, status, startDate, endDate, finalRecalcDone\n\ndata.[]account.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\ndata.[]account.tournament.Tournament the account belongs to. Null for accounts outside a tournament.\n\n- data.[]account.tournament.id (string · uuid; required)\n\ndata.[]account.tournament.id example: 00000000-0000-4000-8000-000000000000\n\ndata.[]account.tournament.id.Type: string · uuid\n\ndata.[]account.tournament.id.Tournament identifier.\n\ndata.[]account.tournament.id.format: uuid\n\ndata.[]account.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- data.[]account.tournament.status (string · enum; required)\n\ndata.[]account.tournament.status example: active\n\ndata.[]account.tournament.status.Type: string · enum\n\ndata.[]account.tournament.status.Stage the tournament is in.\n\ndata.[]account.tournament.status.Allowed values: [\"active\",\"completed\"]\n\n- data.[]account.tournament.startDate (string · date-time; required)\n\ndata.[]account.tournament.startDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.startDate.Type: string · date-time\n\ndata.[]account.tournament.startDate.When the tournament opens for trading.\n\ndata.[]account.tournament.startDate.format: date-time\n\n- data.[]account.tournament.endDate (string · date-time; required)\n\ndata.[]account.tournament.endDate example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.tournament.endDate.Type: string · date-time\n\ndata.[]account.tournament.endDate.When the tournament closes.\n\ndata.[]account.tournament.endDate.format: date-time\n\n- data.[]account.tournament.finalRecalcDone (boolean; required)\n\ndata.[]account.tournament.finalRecalcDone example: true\n\ndata.[]account.tournament.finalRecalcDone.Type: boolean\n\ndata.[]account.tournament.finalRecalcDone.Whether final standings have been recomputed after the close.\n\n- data.[]account.restore (object; required)\n\ndata.[]account.restore example: {\n  \"restoreAvailable\": true,\n  \"restoreAvailableUntil\": \"2026-05-01T12:30:00.000Z\"\n}\n\ndata.[]account.restore.Type: object\n\ndata.[]account.restore.Required fields: restoreAvailable, restoreAvailableUntil\n\ndata.[]account.restore.Required field types: restoreAvailable (boolean; required), restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.Whether a failed funded account can be brought back, and until when.\n\n- data.[]account.restore.restoreAvailable (boolean; required)\n\ndata.[]account.restore.restoreAvailable example: true\n\ndata.[]account.restore.restoreAvailable.Type: boolean\n\ndata.[]account.restore.restoreAvailable.Whether the failed funded account can be restored right now.\n\n- data.[]account.restore.restoreAvailableUntil (string · date-time · nullable; required)\n\ndata.[]account.restore.restoreAvailableUntil example: 2026-05-01T12:30:00.000Z\n\ndata.[]account.restore.restoreAvailableUntil.Type: string · date-time · nullable\n\ndata.[]account.restore.restoreAvailableUntil.When the restore window closes. Null when there is no window.\n\ndata.[]account.restore.restoreAvailableUntil.format: date-time\n\n- totalCount (number; required)\n\ntotalCount example: 0\n\ntotalCount.Type: number\n\ntotalCount.Total number of events across all pages.\n\nExample\n\n\n\n```json\n{\n  \"data\": [],\n  \"totalCount\": 0\n}\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`.","text":"Get the events of the trader account Lifecycle events across every account of the caller, newest first: challenge purchases, completions and failures, withdrawal requests and payouts, funded-limit locks and unlocks, demo and tournament accounts being opened or closed. - Authenticated with an API key, only accounts that have `api_trading` enabled are included. - Paginated through `limit` and `offset`; the response carries the total count. GET /accounts/events Accounts limit Page size: how many records to return. integer offset How many records to skip before the page. integer 200 Response data Requested page of account events, newest first. The `payload` shape follows `eventType`. object[] totalCount Total number of events across all pages. number 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`.","api":{"title":"Upscale Public API","version":"d796ac9","documentation":"https://docs.upscale.trade/developers","playgroundServer":"https://api.upscale.trade"}}