{"openapi":"3.1.0","info":{"title":"MT5 Manager Service","description":"Account data and streaming for a Laravel client portal. **Interactive API:** [`/docs`](/docs) (Swagger) or [`/redoc`](/redoc). **Portal / trading terminal (camelCase JSON):** when enabled, mounted under `PORTAL_ADAPTER_MOUNT_PREFIX` (default [`/terminal`](/terminal/health)). **Client account live stream (Dashboard):** WebSocket [`/terminal/ws/v2/client-accounts`](/docs) — Laravel RS256 JWT with `scope=client_account_stream` and `logins[]`. See [Client Account Stream contract](/docs/CLIENT_ACCOUNT_STREAM.md). Same OpenAPI — look for tag **portal-adapter** and paths starting with `/terminal`.","version":"1.0.0"},"paths":{"/ping":{"get":{"summary":"Ping","operationId":"ping_ping_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/live":{"get":{"summary":"Health Live","operationId":"health_live_health_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/ready":{"get":{"summary":"Health Ready","operationId":"health_ready_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/v1/accounts/ping":{"get":{"tags":["accounts"],"summary":"Ping No Auth","description":"No auth. Confirms this is the MT5 Python service.","operationId":"ping_no_auth_api_v1_accounts_ping_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/accounts/auth-check":{"get":{"tags":["accounts"],"summary":"Auth Check","description":"Confirm you are hitting this Python service. Returns service name and mt5_login from token.","operationId":"auth_check_api_v1_accounts_auth_check_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Auth Check Api V1 Accounts Auth Check Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/accounts/{login}/profile":{"get":{"tags":["accounts"],"summary":"Account Profile","description":"MTUser fields for this login (client JWT or admin).","operationId":"account_profile_api_v1_accounts__login__profile_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/{login}/snapshot":{"get":{"tags":["accounts"],"summary":"Account Snapshot","operationId":"account_snapshot_api_v1_accounts__login__snapshot_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountSnapshot"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/{login}/positions":{"get":{"tags":["accounts"],"summary":"Account Positions","operationId":"account_positions_api_v1_accounts__login__positions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OpenPosition"},"title":"Response Account Positions Api V1 Accounts  Login  Positions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/{login}/orders/open":{"get":{"tags":["accounts"],"summary":"Account Orders Open","operationId":"account_orders_open_api_v1_accounts__login__orders_open_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OpenOrder"},"title":"Response Account Orders Open Api V1 Accounts  Login  Orders Open Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/{login}/activity/recent":{"get":{"tags":["accounts"],"summary":"Account Activity Recent","operationId":"account_activity_recent_api_v1_accounts__login__activity_recent_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ActivityEvent"},"title":"Response Account Activity Recent Api V1 Accounts  Login  Activity Recent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/{login}/deals":{"get":{"tags":["accounts"],"summary":"Account Deals","operationId":"account_deals_api_v1_accounts__login__deals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"From (ISO datetime). Date-only (midnight) expands to start of that UTC day.","title":"From Time"},"description":"From (ISO datetime). Date-only (midnight) expands to start of that UTC day."},{"name":"to_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"To (ISO datetime). Date-only (midnight) expands to end of that UTC day (23:59:59.999999).","title":"To Time"},"description":"To (ISO datetime). Date-only (midnight) expands to end of that UTC day (23:59:59.999999)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Deal"},"title":"Response Account Deals Api V1 Accounts  Login  Deals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/{login}/history":{"get":{"tags":["accounts"],"summary":"Account History","operationId":"account_history_api_v1_accounts__login__history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"From (ISO datetime). Date-only (midnight) expands to start of that UTC day.","title":"From Time"},"description":"From (ISO datetime). Date-only (midnight) expands to start of that UTC day."},{"name":"to_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"To (ISO datetime). Date-only (midnight) expands to end of that UTC day (23:59:59.999999).","title":"To Time"},"description":"To (ISO datetime). Date-only (midnight) expands to end of that UTC day (23:59:59.999999)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Account History Api V1 Accounts  Login  History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/accounts/{login}/trade-lots-by-symbol":{"get":{"tags":["admin-accounts"],"summary":"Lots traded per symbol (date range)","description":"Staff-only. Returns summed deal volume (lots) per **symbol** for **BUY/SELL** deals only on the given login between **from_time** and **to_time** (deal time), plus **total_lots**. Uses the same deal history source as `GET /api/v1/accounts/{login}/deals`.","operationId":"admin_trade_lots_by_symbol_api_v1_admin_accounts__login__trade_lots_by_symbol_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from_time","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Range start (ISO 8601), inclusive by deal time","title":"From Time"},"description":"Range start (ISO 8601), inclusive by deal time"},{"name":"to_time","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Range end (ISO 8601), inclusive by deal time","title":"To Time"},"description":"Range end (ISO 8601), inclusive by deal time"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTradeLotsBySymbolResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/accounts/{login}/password/main":{"put":{"tags":["admin-accounts"],"summary":"Set master (main) password","description":"Calls MT5 Manager **UserPasswordChange** with **USER_PASS_MAIN** (trading/master password).","operationId":"set_main_password_api_v1_admin_accounts__login__password_main_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountPasswordSetRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountPasswordSetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/accounts/{login}/password/investor":{"put":{"tags":["admin-accounts"],"summary":"Set investor (read-only) password","description":"Calls MT5 Manager **UserPasswordChange** with **USER_PASS_INVESTOR**.","operationId":"set_investor_password_api_v1_admin_accounts__login__password_investor_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountPasswordSetRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountPasswordSetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/bulk/group":{"post":{"tags":["admin-bulk"],"summary":"Bulk Group","description":"Set the same MT5 group for many logins (UserUpdate).","operationId":"bulk_group_api_v1_admin_bulk_group_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__models__schemas__BulkGroupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/leverage":{"post":{"tags":["admin-bulk"],"summary":"Bulk set leverage","description":"Sets the same **Leverage** for all given logins via **UserUpdate** (MT5 `IMTUser::Leverage`).","operationId":"bulk_leverage_api_v1_admin_bulk_leverage_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__models__schemas__BulkLeverageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/trading/enable":{"post":{"tags":["admin-bulk"],"summary":"Bulk enable trading","description":"Clears **USER_RIGHT_TRADE_DISABLED** on each user so trading is allowed (MT5 `MTUser::EnUsersRights`, **UserUpdate**). Other rights bits are preserved.","operationId":"bulk_trading_enable_api_v1_admin_bulk_trading_enable_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkLoginsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/trading/disable":{"post":{"tags":["admin-bulk"],"summary":"Bulk disable trading","description":"Sets **USER_RIGHT_TRADE_DISABLED** so clients cannot open/close positions (**UserUpdate**). Does not archive the account or change group/leverage.","operationId":"bulk_trading_disable_api_v1_admin_bulk_trading_disable_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkLoginsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/deposit":{"post":{"tags":["admin-bulk"],"summary":"Bulk Deposit","description":"Add funds via balance operation (DealerBalance, DEAL_BALANCE).","operationId":"bulk_deposit_api_v1_admin_bulk_deposit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkBalanceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/withdraw":{"post":{"tags":["admin-bulk"],"summary":"Bulk Withdraw","description":"Remove funds from balance (DealerBalance with negative value).","operationId":"bulk_withdraw_api_v1_admin_bulk_withdraw_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkBalanceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/credit":{"post":{"tags":["admin-bulk"],"summary":"Bulk Credit","description":"Add credit via DealerBalance (DEAL_CREDIT).","operationId":"bulk_credit_api_v1_admin_bulk_credit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkBalanceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/balance/zero":{"post":{"tags":["admin-bulk"],"summary":"Bulk Balance Zero","description":"Set each account's cash balance and credit to zero: removes credit, then deposits or withdraws\nbalance as needed. Open positions are not closed; equity may stay non-zero while positions run.","operationId":"bulk_balance_zero_api_v1_admin_bulk_balance_zero_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkZeroBalanceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/accounts/open":{"post":{"tags":["admin-bulk"],"summary":"Bulk open accounts (UserAdd)","description":"Create trading accounts via MT5 **UserAdd**.\n\nPrefer **per-item `mt5_login`** or **`series_from` + row index** for explicit logins; otherwise\n`Login=0` (server auto-assign). User record is built with **`MTUser()` + `Clear`** first; template\n`UserRequest` is only used if direct construction fails.\n\n**template_login** (optional): fallback seed for `UserRequest` when direct `MTUser` build fails.","operationId":"bulk_accounts_open_api_v1_admin_bulk_accounts_open_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkAccountOpenRequest"}}},"required":true},"responses":{"200":{"description":"Per-row status; successful rows include master and investor passwords (HTTPS only).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkAccountOpenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/archive":{"post":{"tags":["admin-bulk"],"summary":"Bulk Archive","description":"Archive accounts (UserArchive).","operationId":"bulk_archive_api_v1_admin_bulk_archive_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkLoginsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/bulk/delete":{"post":{"tags":["admin-bulk"],"summary":"Bulk Delete","description":"Permanently delete users (UserDelete). Send header X-Confirm-Delete: 1.","operationId":"bulk_delete_api_v1_admin_bulk_delete_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-confirm-delete","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Confirm-Delete"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkLoginsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkOperationSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/bulk/password-reset":{"post":{"tags":["admin-bulk"],"summary":"Bulk Password Reset","description":"Reset main trading password (UserPasswordChange). Returns new_password per login.","operationId":"bulk_password_reset_api_v1_admin_bulk_password_reset_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkLoginsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPasswordResetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/trader-data/deals":{"post":{"tags":["admin-trader-data"],"summary":"Deals (time range, paginated)","description":"Requires **X-Admin-Static-Token** and valid **mt5_login** + **master_password** in JSON body.","operationId":"post_trader_deals_api_v1_admin_trader_data_deals_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTraderDataDealsBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Deal"},"type":"array","title":"Response Post Trader Deals Api V1 Admin Trader Data Deals Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/trader-data/positions/open":{"post":{"tags":["admin-trader-data"],"summary":"Open positions","description":"Requires **X-Admin-Static-Token** and valid MT5 credentials in JSON body.","operationId":"post_trader_positions_open_api_v1_admin_trader_data_positions_open_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTraderDataCredentials"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OpenPosition"},"type":"array","title":"Response Post Trader Positions Open Api V1 Admin Trader Data Positions Open Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/trader-data/positions/closed":{"post":{"tags":["admin-trader-data"],"summary":"Closed position deals (exit-side deals)","description":"Deals whose **Entry** is position close / reduce (OUT, INOUT, OUT_BY). Same time window and pagination as **/deals**. If **from_time** / **to_time** are omitted, the window is the last **30 days** ending at **now (UTC)**, matching MT5 deal times. Use explicit ISO datetimes for a wider range; use **page** / **limit** (max 100) for more rows.","operationId":"post_trader_positions_closed_api_v1_admin_trader_data_positions_closed_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTraderDataDealsBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Deal"},"type":"array","title":"Response Post Trader Positions Closed Api V1 Admin Trader Data Positions Closed Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/trader-data/order-history":{"post":{"tags":["admin-trader-data"],"summary":"Order history (closed and filled orders in range)","description":"Same source as `GET /api/v1/accounts/{login}/history` after password check.","operationId":"post_trader_order_history_api_v1_admin_trader_data_order_history_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTraderDataDealsBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Post Trader Order History Api V1 Admin Trader Data Order History Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/trader-data/all":{"post":{"tags":["admin-trader-data"],"summary":"Open positions, closed deals, deals, and order history","description":"One round-trip after a single password check. Uses the same **page** / **limit** for deals, close-outs, and order history.","operationId":"post_trader_all_api_v1_admin_trader_data_all_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTraderDataDealsBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTraderDataAllResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/non-losable-watcher/status":{"get":{"tags":["admin-non-losable-watcher"],"summary":"Non-Losable Bonus watcher status (metrics only)","operationId":"non_losable_watcher_status_api_v1_admin_non_losable_watcher_status_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/non-losable-watcher/accounts":{"get":{"tags":["admin-non-losable-watcher"],"summary":"Paginated Non-Losable Bonus watch accounts with live MT5","operationId":"non_losable_watcher_accounts_api_v1_admin_non_losable_watcher_accounts_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Per Page"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":128,"default":"","title":"Search"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","default":"mt5_id","title":"Sort By"}},{"name":"sort_dir","in":"query","required":false,"schema":{"type":"string","default":"asc","title":"Sort Dir"}},{"name":"live","in":"query","required":false,"schema":{"type":"boolean","description":"Read live MT5 for current page","default":true,"title":"Live"},"description":"Read live MT5 for current page"},{"name":"force_crm","in":"query","required":false,"schema":{"type":"boolean","description":"Bypass CRM list cache","default":false,"title":"Force Crm"},"description":"Bypass CRM list cache"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/non-losable-watcher/debug/{mt5_id}":{"get":{"tags":["admin-non-losable-watcher"],"summary":"Debug single Non-Losable Bonus watch account","operationId":"non_losable_watcher_debug_api_v1_admin_non_losable_watcher_debug__mt5_id__get","parameters":[{"name":"mt5_id","in":"path","required":true,"schema":{"type":"integer","title":"Mt5 Id"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/non-losable-watcher/status/legacy":{"get":{"tags":["admin-non-losable-watcher"],"summary":"Legacy combined status + accounts (deprecated)","operationId":"non_losable_watcher_status_legacy_api_v1_admin_non_losable_watcher_status_legacy_get","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/four-x-coordinator/{action}":{"post":{"summary":"Command","operationId":"command_api_v1_admin_four_x_coordinator__action__post","parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"Action"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/health":{"get":{"tags":["internal"],"summary":"Internal Health","operationId":"internal_health_internal_health_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceHealth"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/health/manager":{"get":{"tags":["internal"],"summary":"Internal Health Manager","operationId":"internal_health_manager_internal_health_manager_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagerHealth"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/metrics":{"get":{"tags":["internal"],"summary":"Internal Metrics","operationId":"internal_metrics_internal_metrics_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Internal Metrics Internal Metrics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/metrics/prometheus":{"get":{"tags":["internal"],"summary":"Internal Metrics Prometheus","operationId":"internal_metrics_prometheus_internal_metrics_prometheus_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/subscriptions":{"get":{"tags":["internal"],"summary":"Internal Subscriptions","operationId":"internal_subscriptions_internal_subscriptions_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Internal Subscriptions Internal Subscriptions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/cache":{"get":{"tags":["internal"],"summary":"Internal Cache","operationId":"internal_cache_internal_cache_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Internal Cache Internal Cache Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/manager-observer":{"get":{"tags":["internal"],"summary":"Internal Manager Observer","description":"Status of MT5 deal/position observer → Laravel manager-action-log pipeline.","operationId":"internal_manager_observer_internal_manager_observer_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Internal Manager Observer Internal Manager Observer Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/non-losable-watcher":{"get":{"tags":["internal"],"summary":"Internal Non Losable Watcher","description":"Status of Non-Losable Bonus CRM watch + MT5 credit removal watcher.","operationId":"internal_non_losable_watcher_internal_non_losable_watcher_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Internal Non Losable Watcher Internal Non Losable Watcher Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/non-losable-watcher/dashboard":{"get":{"tags":["internal"],"summary":"Internal Non Losable Dashboard","description":"Full dashboard JSON (same as admin status endpoint).","operationId":"internal_non_losable_dashboard_internal_non_losable_watcher_dashboard_get","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Internal Non Losable Dashboard Internal Non Losable Watcher Dashboard Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/health/components":{"get":{"tags":["internal"],"summary":"Internal Health Components","operationId":"internal_health_components_internal_health_components_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Internal Health Components Internal Health Components Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/market-ticker-stream":{"get":{"tags":["internal"],"summary":"Internal Market Ticker Stream","description":"Status of Redis market-ticker tick publisher (Laravel feeder_redis ingest).","operationId":"internal_market_ticker_stream_internal_market_ticker_stream_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Internal Market Ticker Stream Internal Market Ticker Stream Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/competitions/sync":{"post":{"tags":["internal-competitions"],"summary":"Sync Competition","operationId":"sync_competition_api_v1_internal_competitions_sync_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaravelCompetitionSyncRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaravelCompetitionOkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/competitions/{competition_id}/watched-accounts":{"post":{"tags":["internal-competitions"],"summary":"Sync Watched Accounts Laravel","operationId":"sync_watched_accounts_laravel_api_v1_internal_competitions__competition_id__watched_accounts_post","parameters":[{"name":"competition_id","in":"path","required":true,"schema":{"type":"integer","title":"Competition Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaravelWatchedAccountsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Sync Watched Accounts Laravel Api V1 Internal Competitions  Competition Id  Watched Accounts Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/competitions/{competition_id}/stream/start":{"post":{"tags":["internal-competitions"],"summary":"Stream Start Laravel","operationId":"stream_start_laravel_api_v1_internal_competitions__competition_id__stream_start_post","parameters":[{"name":"competition_id","in":"path","required":true,"schema":{"type":"integer","title":"Competition Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaravelStreamControlBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Stream Start Laravel Api V1 Internal Competitions  Competition Id  Stream Start Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/competitions/{competition_id}/stream/stop":{"post":{"tags":["internal-competitions"],"summary":"Stream Stop Laravel","operationId":"stream_stop_laravel_api_v1_internal_competitions__competition_id__stream_stop_post","parameters":[{"name":"competition_id","in":"path","required":true,"schema":{"type":"integer","title":"Competition Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaravelStreamControlBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Stream Stop Laravel Api V1 Internal Competitions  Competition Id  Stream Stop Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/competitions/{competition_id}/stream/status":{"get":{"tags":["internal-competitions"],"summary":"Stream Status Laravel","operationId":"stream_status_laravel_api_v1_internal_competitions__competition_id__stream_status_get","parameters":[{"name":"competition_id","in":"path","required":true,"schema":{"type":"integer","title":"Competition Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events/sync":{"put":{"tags":["internal-events"],"summary":"Sync Event","operationId":"sync_event_internal_events_sync_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSyncRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events/{external_event_id}/accounts":{"put":{"tags":["internal-events"],"summary":"Sync Watched Accounts","operationId":"sync_watched_accounts_internal_events__external_event_id__accounts_put","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchedAccountsSyncRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Sync Watched Accounts Internal Events  External Event Id  Accounts Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events/{external_event_id}/stream/start":{"post":{"tags":["internal-events"],"summary":"Stream Start","operationId":"stream_start_internal_events__external_event_id__stream_start_post","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Stream Start Internal Events  External Event Id  Stream Start Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events/{external_event_id}/stream/stop":{"post":{"tags":["internal-events"],"summary":"Stream Stop","operationId":"stream_stop_internal_events__external_event_id__stream_stop_post","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Stream Stop Internal Events  External Event Id  Stream Stop Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events/{external_event_id}/stream/status":{"get":{"tags":["internal-events"],"summary":"Stream Status","operationId":"stream_status_internal_events__external_event_id__stream_status_get","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events/{external_event_id}/config":{"get":{"tags":["internal-events"],"summary":"Get Event Config","operationId":"get_event_config_internal_events__external_event_id__config_get","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events":{"get":{"tags":["internal-events"],"summary":"List Events","operationId":"list_events_internal_events_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EventConfigResponse"},"title":"Response List Events Internal Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events/{external_event_id}/snapshot":{"get":{"tags":["internal-events"],"summary":"Internal Snapshot","operationId":"internal_snapshot_internal_events__external_event_id__snapshot_get","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/events/{external_event_id}/refresh":{"post":{"tags":["internal-events"],"summary":"Manual Refresh","operationId":"manual_refresh_internal_events__external_event_id__refresh_post","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Manual Refresh Internal Events  External Event Id  Refresh Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/events/{slug}":{"get":{"tags":["public-events"],"summary":"Event Page Html","operationId":"event_page_html_events__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"embed","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Embed"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/stream/event/{external_event_id}":{"get":{"tags":["public-events"],"summary":"Event Page By External Id","operationId":"event_page_by_external_id_stream_event__external_event_id__get","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}},{"name":"embed","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Embed"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/events/by-slug/{slug}/snapshot":{"get":{"tags":["public-events"],"summary":"Public Snapshot By Slug","operationId":"public_snapshot_by_slug_public_events_by_slug__slug__snapshot_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/events/by-external-id/{external_event_id}/snapshot":{"get":{"tags":["public-events"],"summary":"Public Snapshot By External Id","operationId":"public_snapshot_by_external_id_public_events_by_external_id__external_event_id__snapshot_get","parameters":[{"name":"external_event_id","in":"path","required":true,"schema":{"type":"integer","title":"External Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/events/by-slug/{slug}/participant-banner":{"get":{"tags":["public-events"],"summary":"Public Participant Banner By Slug","operationId":"public_participant_banner_by_slug_public_events_by_slug__slug__participant_banner_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantBannerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/embed/participant-status-banner":{"get":{"tags":["public-events"],"summary":"Embed Participant Status Banner","operationId":"embed_participant_status_banner_embed_participant_status_banner_get","parameters":[{"name":"slug","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Slug"}},{"name":"access_token","in":"query","required":true,"schema":{"type":"string","minLength":8,"description":"Laravel JWT or PARTICIPANT_BANNER_TEST_TOKEN when test mode is enabled","title":"Access Token"},"description":"Laravel JWT or PARTICIPANT_BANNER_TEST_TOKEN when test mode is enabled"}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/events/by-slug/{slug}/stream":{"get":{"tags":["public-events"],"summary":"Public Sse By Slug","operationId":"public_sse_by_slug_public_events_by_slug__slug__stream_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/events/by-slug/{slug}/operator/clients":{"get":{"tags":["public-operator"],"summary":"Operator Clients List","operationId":"operator_clients_list_public_events_by_slug__slug__operator_clients_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorClientsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/events/by-slug/{slug}/operator/clients/{login}/deals":{"get":{"tags":["public-operator"],"summary":"Operator Client Deals","operationId":"operator_client_deals_public_events_by_slug__slug__operator_clients__login__deals_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"From (ISO datetime)","title":"From Time"},"description":"From (ISO datetime)"},{"name":"to_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"To (ISO datetime)","title":"To Time"},"description":"To (ISO datetime)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorDealsPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_terminal_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/auth/refresh":{"post":{"tags":["auth"],"summary":"Refresh","operationId":"refresh_terminal_api_v1_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/auth/logout":{"post":{"tags":["auth"],"summary":"Logout","operationId":"logout_terminal_api_v1_auth_logout_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/LogoutRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v1/accounts/{login}/snapshot":{"get":{"tags":["accounts"],"summary":"Account Snapshot","operationId":"account_snapshot_terminal_api_v1_accounts__login__snapshot_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Account Snapshot Terminal Api V1 Accounts  Login  Snapshot Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/positions":{"get":{"tags":["accounts"],"summary":"Account Positions","operationId":"account_positions_terminal_api_v1_accounts__login__positions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Account Positions Terminal Api V1 Accounts  Login  Positions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/orders/open":{"get":{"tags":["accounts"],"summary":"Account Orders Open","operationId":"account_orders_open_terminal_api_v1_accounts__login__orders_open_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Account Orders Open Terminal Api V1 Accounts  Login  Orders Open Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/history":{"get":{"tags":["accounts"],"summary":"Account History","operationId":"account_history_terminal_api_v1_accounts__login__history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From Time"}},{"name":"to_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To Time"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Account History Terminal Api V1 Accounts  Login  History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/deals":{"get":{"tags":["accounts"],"summary":"Account Deals","operationId":"account_deals_terminal_api_v1_accounts__login__deals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From Time"}},{"name":"to_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To Time"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Account Deals Terminal Api V1 Accounts  Login  Deals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/activity/recent":{"get":{"tags":["accounts"],"summary":"Activity Recent","operationId":"activity_recent_terminal_api_v1_accounts__login__activity_recent_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Activity Recent Terminal Api V1 Accounts  Login  Activity Recent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/activity":{"get":{"tags":["accounts"],"summary":"Activity Journal","description":"Alias: journal-shaped activity for the terminal.","operationId":"activity_journal_terminal_api_v1_accounts__login__activity_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Activity Journal Terminal Api V1 Accounts  Login  Activity Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/profile":{"get":{"tags":["accounts"],"summary":"Account Profile","operationId":"account_profile_terminal_api_v1_accounts__login__profile_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Account Profile Terminal Api V1 Accounts  Login  Profile Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/orders/market":{"post":{"tags":["trading"],"summary":"Place Market","operationId":"place_market_terminal_api_v1_accounts__login__orders_market_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketOrderBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Place Market Terminal Api V1 Accounts  Login  Orders Market Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/orders/pending":{"post":{"tags":["trading"],"summary":"Place Pending","operationId":"place_pending_terminal_api_v1_accounts__login__orders_pending_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingOrderBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Place Pending Terminal Api V1 Accounts  Login  Orders Pending Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/positions/{ticket}":{"delete":{"tags":["trading"],"summary":"Close Position","operationId":"close_position_terminal_api_v1_accounts__login__positions__ticket__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/adapter__trading__schemas__ClosePositionBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Close Position Terminal Api V1 Accounts  Login  Positions  Ticket  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/positions/{ticket}/sl-tp":{"put":{"tags":["trading"],"summary":"Position Sl Tp","operationId":"position_sl_tp_terminal_api_v1_accounts__login__positions__ticket__sl_tp_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlTpBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Position Sl Tp Terminal Api V1 Accounts  Login  Positions  Ticket  Sl Tp Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/accounts/{login}/orders/{ticket}":{"delete":{"tags":["trading"],"summary":"Cancel Order","operationId":"cancel_order_terminal_api_v1_accounts__login__orders__ticket__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Order Terminal Api V1 Accounts  Login  Orders  Ticket  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["trading"],"summary":"Modify Order","operationId":"modify_order_terminal_api_v1_accounts__login__orders__ticket__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyPendingBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Modify Order Terminal Api V1 Accounts  Login  Orders  Ticket  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/market/symbols":{"get":{"tags":["market"],"summary":"Market Symbols","operationId":"market_symbols_terminal_api_v1_market_symbols_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter: forex, metals, crypto, indices, energy","title":"Category"},"description":"Filter: forex, metals, crypto, indices, energy"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive substring on symbol or description","title":"Search"},"description":"Case-insensitive substring on symbol or description"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Market Symbols Terminal Api V1 Market Symbols Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/market/symbols/{symbol}":{"get":{"tags":["market"],"summary":"Market Symbol Detail","operationId":"market_symbol_detail_terminal_api_v1_market_symbols__symbol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Market Symbol Detail Terminal Api V1 Market Symbols  Symbol  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/market/margin-calc":{"post":{"tags":["market"],"summary":"Market Margin Calc","operationId":"market_margin_calc_terminal_api_v1_market_margin_calc_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarginCalcBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Market Margin Calc Terminal Api V1 Market Margin Calc Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v1/market/quotes":{"get":{"tags":["market"],"summary":"Market Quotes Many","operationId":"market_quotes_many_terminal_api_v1_market_quotes_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbols","in":"query","required":true,"schema":{"type":"string","description":"Comma-separated symbols","title":"Symbols"},"description":"Comma-separated symbols"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Market Quotes Many Terminal Api V1 Market Quotes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/market/quotes/{symbol}":{"get":{"tags":["market"],"summary":"Market Quote One","operationId":"market_quote_one_terminal_api_v1_market_quotes__symbol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Market Quote One Terminal Api V1 Market Quotes  Symbol  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/market/candles/{symbol}/{timeframe}":{"get":{"tags":["market"],"summary":"Market Candles","operationId":"market_candles_terminal_api_v1_market_candles__symbol___timeframe__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}},{"name":"timeframe","in":"path","required":true,"schema":{"type":"string","title":"Timeframe"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":300,"title":"Count"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Market Candles Terminal Api V1 Market Candles  Symbol   Timeframe  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/portal/saved-accounts":{"get":{"tags":["portal"],"summary":"List Saved","operationId":"list_saved_terminal_api_v1_portal_saved_accounts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SavedAccountOut"},"type":"array","title":"Response List Saved Terminal Api V1 Portal Saved Accounts Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["portal"],"summary":"Create Saved","operationId":"create_saved_terminal_api_v1_portal_saved_accounts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedAccountCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedAccountOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v1/portal/saved-accounts/{account_id}":{"delete":{"tags":["portal"],"summary":"Delete Saved","operationId":"delete_saved_terminal_api_v1_portal_saved_accounts__account_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/portal/preferences":{"get":{"tags":["portal"],"summary":"Get Preferences","operationId":"get_preferences_terminal_api_v1_portal_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferencesOut"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["portal"],"summary":"Put Preferences","operationId":"put_preferences_terminal_api_v1_portal_preferences_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferencesUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferencesOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v1/alerts/":{"get":{"tags":["alerts"],"summary":"List Price Alerts","operationId":"list_price_alerts_terminal_api_v1_alerts__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"include_triggered","in":"query","required":false,"schema":{"type":"boolean","description":"Include already-fired alerts","default":false,"title":"Include Triggered"},"description":"Include already-fired alerts"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceAlertOut"},"title":"Response List Price Alerts Terminal Api V1 Alerts  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["alerts"],"summary":"Create Price Alert","operationId":"create_price_alert_terminal_api_v1_alerts__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceAlertCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceAlertOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v1/alerts/{alert_id}":{"delete":{"tags":["alerts"],"summary":"Delete Price Alert","operationId":"delete_price_alert_terminal_api_v1_alerts__alert_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/auth/login":{"post":{"tags":["portal-v2-auth"],"summary":"V2 Login","operationId":"v2_login_terminal_api_v2_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/auth/refresh":{"post":{"tags":["portal-v2-auth"],"summary":"V2 Refresh","operationId":"v2_refresh_terminal_api_v2_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/auth/logout":{"post":{"tags":["portal-v2-auth"],"summary":"V2 Logout","operationId":"v2_logout_terminal_api_v2_auth_logout_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/LogoutRequest"},{"type":"null"}],"title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v2/auth/session":{"get":{"tags":["portal-v2-auth"],"summary":"V2 Session","operationId":"v2_session_terminal_api_v2_auth_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v2/auth/session/status":{"get":{"tags":["portal-v2-auth"],"summary":"V2 Session Status","operationId":"v2_session_status_terminal_api_v2_auth_session_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v2/status":{"get":{"tags":["portal-v2-status"],"summary":"V2 Status","operationId":"v2_status_terminal_api_v2_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/terminal/api/v2/accounts/{login}/summary":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 Summary","operationId":"v2_summary_terminal_api_v2_accounts__login__summary_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/permissions":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 Permissions","operationId":"v2_permissions_terminal_api_v2_accounts__login__permissions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/positions":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 Positions","operationId":"v2_positions_terminal_api_v2_accounts__login__positions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"}},{"name":"side","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Side"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/positions/{ticket}":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 Position By Ticket","operationId":"v2_position_by_ticket_terminal_api_v2_accounts__login__positions__ticket__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/orders":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 Orders","operationId":"v2_orders_terminal_api_v2_accounts__login__orders_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/orders/{ticket}":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 Order By Ticket","operationId":"v2_order_by_ticket_terminal_api_v2_accounts__login__orders__ticket__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["portal-v2-trading"],"summary":"V2 Modify Order","operationId":"v2_modify_order_terminal_api_v2_accounts__login__orders__ticket__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingModifyBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["portal-v2-trading"],"summary":"V2 Cancel Order","operationId":"v2_cancel_order_terminal_api_v2_accounts__login__orders__ticket__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/history/deals":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 Deals","operationId":"v2_deals_terminal_api_v2_accounts__login__history_deals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/history/orders":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 Order History","operationId":"v2_order_history_terminal_api_v2_accounts__login__history_orders_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/history/orders/{ticket}":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 History Order By Ticket","operationId":"v2_history_order_by_ticket_terminal_api_v2_accounts__login__history_orders__ticket__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/history/deals/{ticket}":{"get":{"tags":["portal-v2-accounts"],"summary":"V2 History Deal By Ticket","operationId":"v2_history_deal_by_ticket_terminal_api_v2_accounts__login__history_deals__ticket__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/market/symbols":{"get":{"tags":["portal-v2-market"],"summary":"V2 Symbols","operationId":"v2_symbols_terminal_api_v2_market_symbols_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"tradableOnly","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Tradableonly"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/market/symbols/{symbol}":{"get":{"tags":["portal-v2-market"],"summary":"V2 Symbol Detail","operationId":"v2_symbol_detail_terminal_api_v2_market_symbols__symbol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/market/quotes":{"get":{"tags":["portal-v2-market"],"summary":"V2 Quotes","operationId":"v2_quotes_terminal_api_v2_market_quotes_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbols","in":"query","required":true,"schema":{"type":"string","title":"Symbols"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/market/quotes/{symbol}":{"get":{"tags":["portal-v2-market"],"summary":"V2 Quote One","operationId":"v2_quote_one_terminal_api_v2_market_quotes__symbol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/market/candles/{symbol}":{"get":{"tags":["portal-v2-market"],"summary":"V2 Candles","operationId":"v2_candles_terminal_api_v2_market_candles__symbol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","default":"H1","title":"Timeframe"}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":300,"title":"Count"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/market/ticks/{symbol}":{"get":{"tags":["portal-v2-market"],"summary":"V2 Ticks","operationId":"v2_ticks_terminal_api_v2_market_ticks__symbol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":1000,"title":"Count"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/market/depth/{symbol}":{"get":{"tags":["portal-v2-market"],"summary":"V2 Depth","operationId":"v2_depth_terminal_api_v2_market_depth__symbol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/market/timeframes":{"get":{"tags":["portal-v2-market"],"summary":"V2 Timeframes","operationId":"v2_timeframes_terminal_api_v2_market_timeframes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v2/accounts/{login}/trades/validate":{"post":{"tags":["portal-v2-trading"],"summary":"V2 Validate","operationId":"v2_validate_terminal_api_v2_accounts__login__trades_validate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/trades/calculate-margin":{"post":{"tags":["portal-v2-trading"],"summary":"V2 Margin","operationId":"v2_margin_terminal_api_v2_accounts__login__trades_calculate_margin_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarginBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/trades/calculate-profit":{"post":{"tags":["portal-v2-trading"],"summary":"V2 Profit","operationId":"v2_profit_terminal_api_v2_accounts__login__trades_calculate_profit_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfitBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/orders/market":{"post":{"tags":["portal-v2-trading"],"summary":"V2 Market Order","operationId":"v2_market_order_terminal_api_v2_accounts__login__orders_market_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketOrderV2"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/trade-requests/{request_id}":{"get":{"tags":["portal-v2-trading"],"summary":"V2 Trade Request Status","operationId":"v2_trade_request_status_terminal_api_v2_accounts__login__trade_requests__request_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/positions/{ticket}/protection":{"put":{"tags":["portal-v2-trading"],"summary":"V2 Position Protection","operationId":"v2_position_protection_terminal_api_v2_accounts__login__positions__ticket__protection_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProtectionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/positions/{ticket}/close":{"post":{"tags":["portal-v2-trading"],"summary":"V2 Close Position","operationId":"v2_close_position_terminal_api_v2_accounts__login__positions__ticket__close_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"ticket","in":"path","required":true,"schema":{"type":"integer","title":"Ticket"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapter__api__v2__trading__ClosePositionBody","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/orders/pending":{"post":{"tags":["portal-v2-trading"],"summary":"V2 Pending","operationId":"v2_pending_terminal_api_v2_accounts__login__orders_pending_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/accounts/{login}/positions/close-all":{"post":{"tags":["portal-v2-trading"],"summary":"V2 Close All","operationId":"v2_close_all_terminal_api_v2_accounts__login__positions_close_all_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseAllBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/portal/watchlist":{"get":{"tags":["portal-v2-watchlist"],"summary":"Get Watchlist","operationId":"get_watchlist_terminal_api_v2_portal_watchlist_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["portal-v2-watchlist"],"summary":"Put Watchlist","operationId":"put_watchlist_terminal_api_v2_portal_watchlist_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v2/portal/watchlist/symbols":{"post":{"tags":["portal-v2-watchlist"],"summary":"Add Watchlist Symbol","operationId":"add_watchlist_symbol_terminal_api_v2_portal_watchlist_symbols_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSymbolBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/terminal/api/v2/portal/watchlist/symbols/{symbol}":{"delete":{"tags":["portal-v2-watchlist"],"summary":"Remove Watchlist Symbol","operationId":"remove_watchlist_symbol_terminal_api_v2_portal_watchlist_symbols__symbol__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/terminal/api/v2/client-accounts/snapshot":{"get":{"summary":"Client Accounts Snapshot","operationId":"client_accounts_snapshot_terminal_api_v2_client_accounts_snapshot_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Client Accounts Snapshot Terminal Api V2 Client Accounts Snapshot Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/client-account-stream/health":{"get":{"tags":["internal"],"summary":"Client Account Stream Health","operationId":"client_account_stream_health_internal_client_account_stream_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Client Account Stream Health Internal Client Account Stream Health Get"}}}}}}},"/terminal/health":{"get":{"tags":["portal-adapter"],"summary":"Portal Adapter Health","operationId":"portal_adapter_health_terminal_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"tags":["mt5-bridge"],"summary":"Bridge Health","operationId":"bridge_health_health_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health/mt5":{"get":{"tags":["mt5-bridge"],"summary":"Bridge Health Mt5","operationId":"bridge_health_mt5_health_mt5_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/version":{"get":{"tags":["mt5-bridge"],"summary":"Bridge Version","operationId":"bridge_version_version_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/{login}":{"get":{"tags":["mt5-bridge"],"summary":"Get Account","operationId":"get_account_mt5_accounts__login__get","parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/{login}/state":{"get":{"tags":["mt5-bridge"],"summary":"Get Account State","operationId":"get_account_state_mt5_accounts__login__state_get","parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/{login}/positions":{"get":{"tags":["mt5-bridge"],"summary":"Get Positions","operationId":"get_positions_mt5_accounts__login__positions_get","parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/{login}/deals":{"get":{"tags":["mt5-bridge"],"summary":"Get Deals","operationId":"get_deals_mt5_accounts__login__deals_get","parameters":[{"name":"login","in":"path","required":true,"schema":{"type":"integer","title":"Login"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/groups":{"get":{"tags":["mt5-bridge"],"summary":"List Groups","operationId":"list_groups_mt5_groups_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/groups/{group}":{"get":{"tags":["mt5-bridge"],"summary":"Get Group","operationId":"get_group_mt5_groups__group__get","parameters":[{"name":"group","in":"path","required":true,"schema":{"type":"string","title":"Group"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/symbols":{"get":{"tags":["mt5-bridge"],"summary":"List Symbols","operationId":"list_symbols_mt5_symbols_get","parameters":[{"name":"group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/create":{"post":{"tags":["mt5-bridge"],"summary":"Create Account","operationId":"create_account_mt5_accounts_create_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/create-demo":{"post":{"tags":["mt5-bridge"],"summary":"Create Demo Account","operationId":"create_demo_account_mt5_accounts_create_demo_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/change-password":{"post":{"tags":["mt5-bridge"],"summary":"Change Password","operationId":"change_password_mt5_accounts_change_password_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/update-leverage":{"post":{"tags":["mt5-bridge"],"summary":"Update Leverage","operationId":"update_leverage_mt5_accounts_update_leverage_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLeverageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/accounts/update-group":{"post":{"tags":["mt5-bridge"],"summary":"Update Group","operationId":"update_group_mt5_accounts_update_group_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGroupRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/balance/deposit":{"post":{"tags":["mt5-bridge"],"summary":"Balance Deposit","operationId":"balance_deposit_mt5_balance_deposit_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/balance/withdraw":{"post":{"tags":["mt5-bridge"],"summary":"Balance Withdraw","operationId":"balance_withdraw_mt5_balance_withdraw_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/balance/credit-in":{"post":{"tags":["mt5-bridge"],"summary":"Balance Credit In","operationId":"balance_credit_in_mt5_balance_credit_in_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/balance/credit-out":{"post":{"tags":["mt5-bridge"],"summary":"Balance Credit Out","operationId":"balance_credit_out_mt5_balance_credit_out_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/transfers/internal":{"post":{"tags":["mt5-bridge"],"summary":"Internal Transfer","operationId":"internal_transfer_mt5_transfers_internal_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalTransferRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/bulk/accounts/create":{"post":{"tags":["mt5-bridge"],"summary":"Bulk Accounts Create","operationId":"bulk_accounts_create_mt5_bulk_accounts_create_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkAccountCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/bulk/balance/deposit":{"post":{"tags":["mt5-bridge"],"summary":"Bulk Deposit","operationId":"bulk_deposit_mt5_bulk_balance_deposit_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFinancialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/bulk/balance/withdraw":{"post":{"tags":["mt5-bridge"],"summary":"Bulk Withdraw","operationId":"bulk_withdraw_mt5_bulk_balance_withdraw_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFinancialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/bulk/credit/in":{"post":{"tags":["mt5-bridge"],"summary":"Bulk Credit In","operationId":"bulk_credit_in_mt5_bulk_credit_in_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFinancialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/bulk/credit/out":{"post":{"tags":["mt5-bridge"],"summary":"Bulk Credit Out","operationId":"bulk_credit_out_mt5_bulk_credit_out_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFinancialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/bulk/accounts/update-leverage":{"post":{"tags":["mt5-bridge"],"summary":"Bulk Update Leverage","operationId":"bulk_update_leverage_mt5_bulk_accounts_update_leverage_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__mt5_bridge__schemas__BulkLeverageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mt5/bulk/accounts/update-group":{"post":{"tags":["mt5-bridge"],"summary":"Bulk Update Group","operationId":"bulk_update_group_mt5_bulk_accounts_update_group_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__mt5_bridge__schemas__BulkGroupRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccountCreateRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","maxLength":128,"minLength":1,"title":"Source Module"},"source_table":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Source Table"},"source_record_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Source Record Id"},"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"client_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Client Id"},"name":{"type":"string","maxLength":256,"minLength":1,"title":"Name"},"email":{"type":"string","maxLength":256,"minLength":1,"title":"Email"},"group":{"type":"string","maxLength":128,"minLength":1,"title":"Group"},"leverage":{"type":"integer","maximum":1000000.0,"exclusiveMinimum":0.0,"title":"Leverage"},"main_password":{"type":"string","minLength":1,"title":"Main Password"},"investor_password":{"type":"string","minLength":1,"title":"Investor Password"},"phone":{"type":"string","title":"Phone","default":""},"country":{"type":"string","title":"Country","default":""},"agent":{"type":"integer","title":"Agent","default":0},"comment":{"type":"string","title":"Comment","default":""},"preferred_login":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Preferred Login"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"}},"type":"object","required":["source_backend","source_module","idempotency_key","client_id","name","email","group","leverage","main_password","investor_password"],"title":"AccountCreateRequest"},"AccountPasswordSetRequest":{"properties":{"new_password":{"type":"string","maxLength":64,"minLength":1,"title":"New Password","description":"New password as sent to MT5"}},"type":"object","required":["new_password"],"title":"AccountPasswordSetRequest","description":"Set MT5 master (main) or investor (read-only) password via Manager API UserPasswordChange."},"AccountPasswordSetResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"mt5_login":{"type":"integer","title":"Mt5 Login"},"password_type":{"type":"string","title":"Password Type"},"manager_return_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Manager Return Code"},"manager_return_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manager Return Message"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["ok","mt5_login","password_type"],"title":"AccountPasswordSetResponse"},"AccountProfile":{"properties":{"mt5_login":{"type":"integer","title":"Mt5 Login"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"group":{"type":"string","title":"Group","default":""},"leverage":{"type":"integer","title":"Leverage","default":0},"rights":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rights"}},"type":"object","required":["mt5_login"],"title":"AccountProfile"},"AccountSnapshot":{"properties":{"mt5_login":{"type":"integer","title":"Mt5 Login"},"account_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Name"},"group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group"},"leverage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Leverage"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"balance":{"type":"number","title":"Balance","default":0.0},"credit":{"type":"number","title":"Credit","default":0.0},"equity":{"type":"number","title":"Equity","default":0.0},"margin":{"type":"number","title":"Margin","default":0.0},"margin_free":{"type":"number","title":"Margin Free","default":0.0},"margin_level":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Margin Level"},"floating_pnl":{"type":"number","title":"Floating Pnl","default":0.0},"open_positions_count":{"type":"integer","title":"Open Positions Count","default":0},"pending_orders_count":{"type":"integer","title":"Pending Orders Count","default":0},"last_update_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Update Time"},"stream_connection_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stream Connection State"}},"type":"object","required":["mt5_login"],"title":"AccountSnapshot"},"ActivityEvent":{"properties":{"event_type":{"type":"string","title":"Event Type"},"mt5_login":{"type":"integer","title":"Mt5 Login"},"ticket":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ticket"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"},"volume":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Volume"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time"},"extra":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra"}},"type":"object","required":["event_type","mt5_login"],"title":"ActivityEvent"},"AddSymbolBody":{"properties":{"symbol":{"type":"string","title":"Symbol"}},"type":"object","required":["symbol"],"title":"AddSymbolBody"},"AdminSymbolLotsRow":{"properties":{"symbol":{"type":"string","title":"Symbol"},"lots":{"type":"number","title":"Lots","description":"Sum of deal volumes for this symbol (standard lots)"}},"type":"object","required":["symbol","lots"],"title":"AdminSymbolLotsRow","description":"Lots (volume) aggregated from BUY/SELL deals in the requested window."},"AdminTradeLotsBySymbolResponse":{"properties":{"mt5_login":{"type":"integer","title":"Mt5 Login"},"from_time":{"type":"string","format":"date-time","title":"From Time"},"to_time":{"type":"string","format":"date-time","title":"To Time"},"by_symbol":{"items":{"$ref":"#/components/schemas/AdminSymbolLotsRow"},"type":"array","title":"By Symbol","description":"Per-symbol lots, sorted descending by lots"},"total_lots":{"type":"number","title":"Total Lots","description":"Sum of lots across all symbols in the window"},"trade_deal_count":{"type":"integer","title":"Trade Deal Count","description":"Number of BUY/SELL deals included in the aggregation","default":0}},"type":"object","required":["mt5_login","from_time","to_time","total_lots"],"title":"AdminTradeLotsBySymbolResponse"},"AdminTraderDataAllResponse":{"properties":{"mt5_login":{"type":"integer","title":"Mt5 Login"},"open_positions":{"items":{"$ref":"#/components/schemas/OpenPosition"},"type":"array","title":"Open Positions"},"closed_position_deals":{"items":{"$ref":"#/components/schemas/Deal"},"type":"array","title":"Closed Position Deals"},"closed_position_deals_total":{"type":"integer","title":"Closed Position Deals Total"},"closed_position_deals_page":{"type":"integer","title":"Closed Position Deals Page","default":1},"closed_position_deals_limit":{"type":"integer","title":"Closed Position Deals Limit","default":50},"deals":{"items":{"$ref":"#/components/schemas/Deal"},"type":"array","title":"Deals"},"deals_total":{"type":"integer","title":"Deals Total"},"deals_page":{"type":"integer","title":"Deals Page","default":1},"deals_limit":{"type":"integer","title":"Deals Limit","default":50},"order_history":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Order History"},"order_history_total":{"type":"integer","title":"Order History Total"},"order_history_page":{"type":"integer","title":"Order History Page","default":1},"order_history_limit":{"type":"integer","title":"Order History Limit","default":50}},"type":"object","required":["mt5_login","open_positions","closed_position_deals","closed_position_deals_total","deals","deals_total","order_history","order_history_total"],"title":"AdminTraderDataAllResponse"},"AdminTraderDataCredentials":{"properties":{"mt5_login":{"type":"integer","minimum":1.0,"title":"Mt5 Login","description":"MT5 trading account login"},"master_password":{"type":"string","maxLength":128,"minLength":1,"title":"Master Password","description":"Main (trading) password unless password_kind is investor"},"password_kind":{"type":"string","enum":["main","investor"],"title":"Password Kind","description":"Which password UserPasswordCheck validates against MT5","default":"main"}},"type":"object","required":["mt5_login","master_password"],"title":"AdminTraderDataCredentials","description":"POST body for admin static + MT5 credential gated routes (never logged)."},"AdminTraderDataDealsBody":{"properties":{"from_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From Time","description":"Range start. If sent as a calendar date (midnight), the full start day is used (UTC date)."},"to_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To Time","description":"Range end. If sent as a calendar date (midnight), the entire end day is included through 23:59:59.999999 (UTC date)."},"page":{"type":"integer","minimum":1.0,"title":"Page","default":1},"limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit","default":50},"mt5_login":{"type":"integer","minimum":1.0,"title":"Mt5 Login","description":"MT5 trading account login"},"master_password":{"type":"string","maxLength":128,"minLength":1,"title":"Master Password","description":"Main (trading) password unless password_kind is investor"},"password_kind":{"type":"string","enum":["main","investor"],"title":"Password Kind","description":"Which password UserPasswordCheck validates against MT5","default":"main"}},"type":"object","required":["mt5_login","master_password"],"title":"AdminTraderDataDealsBody","description":"Deals or order history window + pagination."},"BulkAccountCreateItem":{"properties":{"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"client_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Client Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"group":{"type":"string","title":"Group"},"leverage":{"type":"integer","exclusiveMinimum":0.0,"title":"Leverage"},"main_password":{"type":"string","title":"Main Password"},"investor_password":{"type":"string","title":"Investor Password"},"phone":{"type":"string","title":"Phone","default":""},"country":{"type":"string","title":"Country","default":""},"agent":{"type":"integer","title":"Agent","default":0}},"type":"object","required":["idempotency_key","client_id","name","email","group","leverage","main_password","investor_password"],"title":"BulkAccountCreateItem"},"BulkAccountCreateRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","title":"Source Module"},"continue_on_error":{"type":"boolean","title":"Continue On Error","default":true},"items":{"items":{"$ref":"#/components/schemas/BulkAccountCreateItem"},"type":"array","title":"Items"}},"type":"object","required":["source_backend","source_module","items"],"title":"BulkAccountCreateRequest"},"BulkAccountOpenLine":{"properties":{"email":{"type":"string","minLength":3,"title":"Email","description":"Contact email stored on MTUser"},"first_name":{"type":"string","title":"First Name","default":""},"last_name":{"type":"string","title":"Last Name","default":""},"name":{"type":"string","title":"Name","default":""},"mt5_login":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Mt5 Login","description":"Explicit target MT5 login for this row (overrides series_from+index for this item)."},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id","description":"Opaque CRM id; echoed in response only (not stored here)"},"phone":{"type":"string","title":"Phone","description":"Optional; stored on MTUser.Phone when supported","default":""}},"type":"object","required":["email"],"title":"BulkAccountOpenLine"},"BulkAccountOpenRequest":{"properties":{"group":{"type":"string","minLength":1,"title":"Group","description":"MT5 group for new accounts"},"leverage":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Leverage"},"template_login":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Template Login","description":"UserAdd template: existing MT5 login for UserRequest(). Overrides MT5_USERADD_TEMPLATE_LOGIN / manager login when set."},"series_from":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Series From","description":"If set, requests MT5 logins in sequence: first item uses this number, then +1, +2, ... If omitted, Login=0 (server auto-assigns numbers). Requires broker/server to allow requested logins."},"items":{"items":{"$ref":"#/components/schemas/BulkAccountOpenLine"},"type":"array","minItems":1,"title":"Items"}},"type":"object","required":["group","items"],"title":"BulkAccountOpenRequest"},"BulkAccountOpenResponse":{"properties":{"ok_count":{"type":"integer","title":"Ok Count"},"fail_count":{"type":"integer","title":"Fail Count"},"results":{"items":{"$ref":"#/components/schemas/BulkAccountOpenRow"},"type":"array","title":"Results"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"total_requested":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Requested"},"total_processed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Processed"},"total_succeeded":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Succeeded"},"total_failed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Failed"},"total_skipped":{"type":"integer","title":"Total Skipped","default":0}},"type":"object","required":["ok_count","fail_count","results"],"title":"BulkAccountOpenResponse"},"BulkAccountOpenRow":{"properties":{"email":{"type":"string","title":"Email"},"login":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login"},"ok":{"type":"boolean","title":"Ok"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"master_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Master Password"},"investor_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Investor Password"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group"},"leverage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Leverage"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At","description":"ISO8601 UTC when account was created"},"manager_return_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Manager Return Code"},"manager_return_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manager Return Message"}},"type":"object","required":["email","ok"],"title":"BulkAccountOpenRow"},"BulkBalanceLine":{"properties":{"login":{"type":"integer","title":"Login"},"amount":{"type":"number","exclusiveMinimum":0.0,"title":"Amount","description":"Positive amount; deposit adds, withdraw removes"},"comment":{"type":"string","title":"Comment","default":""}},"type":"object","required":["login","amount"],"title":"BulkBalanceLine"},"BulkBalanceRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BulkBalanceLine"},"type":"array","minItems":1,"title":"Items"}},"type":"object","required":["items"],"title":"BulkBalanceRequest"},"BulkFinancialItem":{"properties":{"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"login":{"type":"integer","exclusiveMinimum":0.0,"title":"Login"},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"},"currency":{"type":"string","title":"Currency","default":"USD"},"comment":{"type":"string","title":"Comment","default":""},"crm_reference":{"type":"string","title":"Crm Reference","default":""},"source_table":{"type":"string","title":"Source Table","default":""},"source_record_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Source Record Id"},"is_cent_account":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Cent Account"}},"type":"object","required":["idempotency_key","login","amount","source_record_id"],"title":"BulkFinancialItem"},"BulkFinancialRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","title":"Source Module"},"continue_on_error":{"type":"boolean","title":"Continue On Error","default":true},"items":{"items":{"$ref":"#/components/schemas/BulkFinancialItem"},"type":"array","title":"Items"}},"type":"object","required":["source_backend","source_module","items"],"title":"BulkFinancialRequest"},"BulkGroupItem":{"properties":{"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"login":{"type":"integer","exclusiveMinimum":0.0,"title":"Login"},"group":{"type":"string","title":"Group"}},"type":"object","required":["idempotency_key","login","group"],"title":"BulkGroupItem"},"BulkLeverageItem":{"properties":{"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"login":{"type":"integer","exclusiveMinimum":0.0,"title":"Login"},"leverage":{"type":"integer","exclusiveMinimum":0.0,"title":"Leverage"}},"type":"object","required":["idempotency_key","login","leverage"],"title":"BulkLeverageItem"},"BulkLoginsRequest":{"properties":{"logins":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Logins"}},"type":"object","required":["logins"],"title":"BulkLoginsRequest"},"BulkOperationSummary":{"properties":{"ok_count":{"type":"integer","title":"Ok Count"},"fail_count":{"type":"integer","title":"Fail Count"},"results":{"items":{"$ref":"#/components/schemas/BulkRowResult"},"type":"array","title":"Results"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"Correlation id (also X-Request-Id)"},"total_requested":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Requested"},"total_processed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Processed"},"total_succeeded":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Succeeded"},"total_failed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Failed"},"total_skipped":{"type":"integer","title":"Total Skipped","default":0}},"type":"object","required":["ok_count","fail_count","results"],"title":"BulkOperationSummary"},"BulkPasswordResetResponse":{"properties":{"ok_count":{"type":"integer","title":"Ok Count"},"fail_count":{"type":"integer","title":"Fail Count"},"results":{"items":{"$ref":"#/components/schemas/BulkPasswordResetRow"},"type":"array","title":"Results"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"total_requested":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Requested"},"total_processed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Processed"},"total_succeeded":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Succeeded"},"total_failed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Failed"},"total_skipped":{"type":"integer","title":"Total Skipped","default":0}},"type":"object","required":["ok_count","fail_count","results"],"title":"BulkPasswordResetResponse"},"BulkPasswordResetRow":{"properties":{"login":{"type":"integer","title":"Login"},"ok":{"type":"boolean","title":"Ok"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"new_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Password"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"manager_return_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Manager Return Code"},"manager_return_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manager Return Message"}},"type":"object","required":["login","ok"],"title":"BulkPasswordResetRow"},"BulkRowResult":{"properties":{"login":{"type":"integer","title":"Login"},"ok":{"type":"boolean","title":"Ok"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"\"ok\" or \"failed\""},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable outcome"},"manager_return_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Manager Return Code","description":"Raw MT API return code when available"},"manager_return_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manager Return Message","description":"MT_RET_* name when mapped"}},"type":"object","required":["login","ok"],"title":"BulkRowResult"},"BulkZeroBalanceRequest":{"properties":{"logins":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Logins"},"comment":{"type":"string","title":"Comment","default":""}},"type":"object","required":["logins"],"title":"BulkZeroBalanceRequest","description":"Clear cash balance and credit to zero (DealerBalance DEAL_BALANCE + DEAL_CREDIT)."},"ChangePasswordRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","maxLength":128,"minLength":1,"title":"Source Module"},"source_table":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Source Table"},"source_record_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Source Record Id"},"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"login":{"type":"integer","exclusiveMinimum":0.0,"title":"Login"},"password_type":{"type":"string","enum":["main","investor"],"title":"Password Type"},"new_password":{"type":"string","minLength":1,"title":"New Password"}},"type":"object","required":["source_backend","source_module","idempotency_key","login","password_type","new_password"],"title":"ChangePasswordRequest"},"CloseAllBody":{"properties":{"confirmationToken":{"type":"string","title":"Confirmationtoken"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"}},"type":"object","required":["confirmationToken"],"title":"CloseAllBody"},"Deal":{"properties":{"deal_id":{"type":"integer","title":"Deal Id"},"order_id":{"type":"integer","title":"Order Id"},"symbol":{"type":"string","title":"Symbol"},"type":{"type":"string","title":"Type"},"volume":{"type":"number","title":"Volume"},"price":{"type":"number","title":"Price"},"profit":{"type":"number","title":"Profit","default":0.0},"commission":{"type":"number","title":"Commission","default":0.0},"swap":{"type":"number","title":"Swap","default":0.0},"fee":{"type":"number","title":"Fee","default":0.0},"time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"reason":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["deal_id","order_id","symbol","type","volume","price"],"title":"Deal"},"EventConfigResponse":{"properties":{"id":{"type":"integer","title":"Id"},"external_event_id":{"type":"integer","title":"External Event Id"},"slug":{"type":"string","title":"Slug"},"event_name":{"type":"string","title":"Event Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","title":"Status"},"stream_enabled":{"type":"boolean","title":"Stream Enabled"},"top_limit":{"type":"integer","title":"Top Limit"},"poll_interval_seconds":{"type":"number","title":"Poll Interval Seconds"},"sort_mode":{"type":"string","title":"Sort Mode"},"page_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Title"},"theme_config_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Theme Config Json"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","external_event_id","slug","event_name","description","status","stream_enabled","top_limit","poll_interval_seconds","sort_mode","page_title","theme_config_json","created_at","updated_at"],"title":"EventConfigResponse"},"EventSyncRequest":{"properties":{"external_event_id":{"type":"integer","minimum":1.0,"title":"External Event Id"},"slug":{"type":"string","maxLength":255,"minLength":1,"title":"Slug"},"event_name":{"type":"string","maxLength":512,"minLength":1,"title":"Event Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","pattern":"^(draft|active|inactive|ended|published)$","title":"Status","default":"draft"},"stream_enabled":{"type":"boolean","title":"Stream Enabled","default":false},"top_limit":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Top Limit","default":50},"poll_interval_seconds":{"type":"number","maximum":300.0,"minimum":0.05,"title":"Poll Interval Seconds","default":2.0},"sort_mode":{"type":"string","maxLength":64,"title":"Sort Mode","default":"equity_desc"},"page_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Title"},"theme_config_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Theme Config Json"}},"type":"object","required":["external_event_id","slug","event_name"],"title":"EventSyncRequest"},"FinancialRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","maxLength":128,"minLength":1,"title":"Source Module"},"source_table":{"type":"string","maxLength":128,"minLength":1,"title":"Source Table"},"source_record_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Source Record Id"},"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"login":{"type":"integer","exclusiveMinimum":0.0,"title":"Login"},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"},"currency":{"type":"string","maxLength":3,"minLength":3,"title":"Currency"},"comment":{"type":"string","minLength":1,"title":"Comment"},"crm_reference":{"type":"string","maxLength":128,"minLength":1,"title":"Crm Reference"},"is_cent_account":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Cent Account"}},"type":"object","required":["source_backend","source_module","source_table","source_record_id","idempotency_key","login","amount","currency","comment","crm_reference"],"title":"FinancialRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InternalTransferRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","maxLength":128,"minLength":1,"title":"Source Module"},"source_table":{"type":"string","title":"Source Table"},"source_record_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Source Record Id"},"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"from_login":{"type":"integer","exclusiveMinimum":0.0,"title":"From Login"},"to_login":{"type":"integer","exclusiveMinimum":0.0,"title":"To Login"},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"},"currency":{"type":"string","maxLength":3,"minLength":3,"title":"Currency"},"debit_comment":{"type":"string","title":"Debit Comment"},"credit_comment":{"type":"string","title":"Credit Comment"},"crm_reference":{"type":"string","title":"Crm Reference"},"debit_idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Debit Idempotency Key"},"credit_idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Credit Idempotency Key"}},"type":"object","required":["source_backend","source_module","source_table","source_record_id","idempotency_key","from_login","to_login","amount","currency","debit_comment","credit_comment","crm_reference","debit_idempotency_key","credit_idempotency_key"],"title":"InternalTransferRequest"},"LaravelCompetitionOkResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"event_id":{"type":"integer","title":"Event Id"},"external_event_id":{"type":"integer","title":"External Event Id","description":"Same as laravel_competition_id"},"slug":{"type":"string","title":"Slug"},"status":{"type":"string","title":"Status","description":"Competition config status stored in Python"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["event_id","external_event_id","slug","status"],"title":"LaravelCompetitionOkResponse"},"LaravelCompetitionSyncRequest":{"properties":{"laravel_competition_id":{"type":"integer","minimum":1.0,"title":"Laravel Competition Id"},"slug":{"type":"string","maxLength":255,"minLength":1,"title":"Slug"},"title":{"type":"string","maxLength":512,"minLength":1,"title":"Title"},"status":{"type":"string","maxLength":64,"title":"Status","default":"draft"},"stream_enabled":{"type":"boolean","title":"Stream Enabled","default":false},"top_limit":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Top Limit","default":50},"poll_interval_seconds":{"type":"number","maximum":300.0,"minimum":0.05,"title":"Poll Interval Seconds","default":5.0},"page_title":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Page Title"}},"type":"object","required":["laravel_competition_id","slug","title"],"title":"LaravelCompetitionSyncRequest"},"LaravelStreamControlBody":{"properties":{"laravel_competition_id":{"type":"integer","minimum":1.0,"title":"Laravel Competition Id"},"slug":{"type":"string","maxLength":255,"minLength":1,"title":"Slug"}},"type":"object","required":["laravel_competition_id","slug"],"title":"LaravelStreamControlBody"},"LaravelWatchedAccountRow":{"properties":{"mt5_login":{"type":"integer","minimum":1.0,"title":"Mt5 Login"},"participant_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Participant Id"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"competition_participant_account_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Competition Participant Account Id"}},"type":"object","required":["mt5_login"],"title":"LaravelWatchedAccountRow"},"LaravelWatchedAccountsRequest":{"properties":{"laravel_competition_id":{"type":"integer","minimum":1.0,"title":"Laravel Competition Id"},"slug":{"type":"string","maxLength":255,"minLength":1,"title":"Slug"},"accounts":{"items":{"$ref":"#/components/schemas/LaravelWatchedAccountRow"},"type":"array","title":"Accounts"}},"type":"object","required":["laravel_competition_id","slug"],"title":"LaravelWatchedAccountsRequest"},"LeaderboardRowOut":{"properties":{"rank_position":{"type":"integer","title":"Rank Position"},"mt5_account_id":{"type":"integer","title":"Mt5 Account Id"},"floating_pnl":{"type":"number","title":"Floating Pnl"},"equity":{"type":"number","title":"Equity"},"balance":{"type":"number","title":"Balance"},"margin":{"type":"number","title":"Margin"},"free_margin":{"type":"number","title":"Free Margin"},"positions_count":{"type":"integer","title":"Positions Count"},"open_lots":{"type":"number","title":"Open Lots","description":"Sum of open position volume (lots)","default":0.0},"participant_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Participant Id"},"competition_participant_account_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Competition Participant Account Id"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"payload_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload Json"},"previous_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Previous Rank"},"return_pct":{"type":"number","title":"Return Pct","default":0.0},"win_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Win Rate"},"trades":{"type":"integer","title":"Trades","default":0},"top_symbol":{"type":"string","title":"Top Symbol","default":"—"},"trend":{"type":"string","title":"Trend","default":"neutral"},"streak":{"type":"integer","title":"Streak","default":0},"sparkline":{"items":{"type":"number"},"type":"array","title":"Sparkline"},"avatar_initials":{"type":"string","title":"Avatar Initials","default":"?"},"country_code":{"type":"string","title":"Country Code","default":""},"flag_emoji":{"type":"string","title":"Flag Emoji","default":"🌐"}},"type":"object","required":["rank_position","mt5_account_id","floating_pnl","equity","balance","margin","free_margin","positions_count"],"title":"LeaderboardRowOut"},"LoginRequest":{"properties":{"mt5_login":{"type":"integer","title":"Mt5 Login"},"password":{"type":"string","title":"Password"},"server":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server"}},"type":"object","required":["mt5_login","password"],"title":"LoginRequest"},"LoginResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"expires_in":{"type":"integer","title":"Expires In"},"mt5_login":{"type":"integer","title":"Mt5 Login"},"account_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Name"},"is_demo":{"type":"boolean","title":"Is Demo","default":false}},"type":"object","required":["access_token","refresh_token","expires_in","mt5_login"],"title":"LoginResponse"},"LogoutRequest":{"properties":{"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"}},"type":"object","title":"LogoutRequest"},"LogoutResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true}},"type":"object","title":"LogoutResponse"},"ManagerHealth":{"properties":{"connected":{"type":"boolean","title":"Connected"},"last_connect_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Connect Time"},"last_disconnect_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Disconnect Time"},"reconnect_count":{"type":"integer","title":"Reconnect Count","default":0},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["connected"],"title":"ManagerHealth"},"MarginBody":{"properties":{"symbol":{"type":"string","title":"Symbol"},"volume":{"type":"number","exclusiveMinimum":0.0,"title":"Volume"},"side":{"type":"string","title":"Side"}},"type":"object","required":["symbol","volume","side"],"title":"MarginBody"},"MarginCalcBody":{"properties":{"symbol":{"type":"string","minLength":1,"title":"Symbol"},"volume":{"type":"number","exclusiveMinimum":0.0,"title":"Volume"},"type":{"type":"string","title":"Type","description":"buy or sell"}},"type":"object","required":["symbol","volume","type"],"title":"MarginCalcBody"},"MarketOrderBody":{"properties":{"symbol":{"type":"string","title":"Symbol"},"type":{"type":"string","enum":["buy","sell"],"title":"Type"},"volume":{"type":"number","exclusiveMinimum":0.0,"title":"Volume"},"sl":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sl"},"tp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tp"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"magic":{"type":"integer","title":"Magic","default":0}},"type":"object","required":["symbol","type","volume"],"title":"MarketOrderBody"},"MarketOrderV2":{"properties":{"symbol":{"type":"string","title":"Symbol"},"side":{"type":"string","title":"Side"},"volume":{"type":"number","exclusiveMinimum":0.0,"title":"Volume"},"stopLoss":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stoploss"},"takeProfit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Takeprofit"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"magic":{"type":"integer","title":"Magic","default":0},"clientRequestId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clientrequestid"},"oneClick":{"type":"boolean","title":"Oneclick","default":false}},"type":"object","required":["symbol","side","volume"],"title":"MarketOrderV2"},"ModifyPendingBody":{"properties":{"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"volume":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Volume"},"sl":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sl"},"tp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tp"},"expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiry"}},"type":"object","title":"ModifyPendingBody"},"OpenOrder":{"properties":{"ticket":{"type":"integer","title":"Ticket"},"symbol":{"type":"string","title":"Symbol"},"type":{"$ref":"#/components/schemas/OrderType"},"volume":{"type":"number","title":"Volume"},"price":{"type":"number","title":"Price"},"sl":{"type":"number","title":"Sl","default":0.0},"tp":{"type":"number","title":"Tp","default":0.0},"status":{"$ref":"#/components/schemas/OrderStatus","default":"pending"},"time_setup":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Setup"}},"type":"object","required":["ticket","symbol","type","volume","price"],"title":"OpenOrder"},"OpenPosition":{"properties":{"ticket":{"type":"integer","title":"Ticket"},"symbol":{"type":"string","title":"Symbol"},"type":{"$ref":"#/components/schemas/PositionType"},"volume":{"type":"number","title":"Volume"},"open_price":{"type":"number","title":"Open Price"},"current_price":{"type":"number","title":"Current Price"},"sl":{"type":"number","title":"Sl","default":0.0},"tp":{"type":"number","title":"Tp","default":0.0},"swap":{"type":"number","title":"Swap","default":0.0},"commission":{"type":"number","title":"Commission","default":0.0},"profit":{"type":"number","title":"Profit","default":0.0},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"open_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Open Time"}},"type":"object","required":["ticket","symbol","type","volume","open_price","current_price"],"title":"OpenPosition"},"OperatorClientRow":{"properties":{"mt5_account_id":{"type":"integer","title":"Mt5 Account Id"},"rank_position":{"type":"integer","title":"Rank Position"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"amp_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amp Id"},"floating_pnl":{"type":"number","title":"Floating Pnl","default":0.0},"equity":{"type":"number","title":"Equity","default":0.0},"open_lots":{"type":"number","title":"Open Lots","default":0.0},"open_positions":{"type":"integer","title":"Open Positions","default":0},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},"type":"object","required":["mt5_account_id","rank_position"],"title":"OperatorClientRow"},"OperatorClientsResponse":{"properties":{"last_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Updated"},"poll_interval_seconds":{"type":"number","title":"Poll Interval Seconds","default":2.0},"clients":{"items":{"$ref":"#/components/schemas/OperatorClientRow"},"type":"array","title":"Clients"}},"type":"object","title":"OperatorClientsResponse"},"OperatorDealsPage":{"properties":{"deals":{"items":{"$ref":"#/components/schemas/Deal"},"type":"array","title":"Deals"},"total":{"type":"integer","title":"Total","default":0},"page":{"type":"integer","title":"Page","default":1},"limit":{"type":"integer","title":"Limit","default":50}},"type":"object","title":"OperatorDealsPage"},"OrderStatus":{"type":"string","enum":["pending","filled","canceled","expired","rejected"],"title":"OrderStatus"},"OrderType":{"type":"string","enum":["buy","sell","buy_limit","sell_limit","buy_stop","sell_stop"],"title":"OrderType"},"ParticipantBannerResponse":{"properties":{"banner_status":{"$ref":"#/components/schemas/ParticipantBannerStatus"},"slug":{"type":"string","title":"Slug"},"event_name":{"type":"string","title":"Event Name"},"page_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Title"},"stream_status":{"type":"string","title":"Stream Status","default":"idle"},"last_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Updated"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"watched_accounts_count":{"type":"integer","title":"Watched Accounts Count","default":0},"total_ranked":{"type":"integer","title":"Total Ranked","description":"Participants in current ranking set","default":0},"manager_connected":{"type":"boolean","title":"Manager Connected","default":true},"poll_interval_seconds":{"type":"number","title":"Poll Interval Seconds","default":2.0},"row":{"anyOf":[{"$ref":"#/components/schemas/LeaderboardRowOut"},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Optional status line for empty/degraded UI"}},"type":"object","required":["banner_status","slug","event_name"],"title":"ParticipantBannerResponse","description":"Single-participant competition snapshot for authenticated embed (no other traders)."},"ParticipantBannerStatus":{"type":"string","enum":["active","not_enrolled","stream_stopped","data_unavailable","syncing"],"title":"ParticipantBannerStatus"},"PendingModifyBody":{"properties":{"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"stopLoss":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stoploss"},"takeProfit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Takeprofit"},"volume":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Volume"},"expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiry"}},"type":"object","title":"PendingModifyBody"},"PendingOrderBody":{"properties":{"symbol":{"type":"string","title":"Symbol"},"type":{"type":"string","title":"Type"},"volume":{"type":"number","exclusiveMinimum":0.0,"title":"Volume"},"price":{"type":"number","title":"Price"},"sl":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sl"},"tp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tp"},"expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiry"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","required":["symbol","type","volume","price"],"title":"PendingOrderBody"},"PositionType":{"type":"string","enum":["buy","sell"],"title":"PositionType"},"PriceAlertCreate":{"properties":{"symbol":{"type":"string","maxLength":64,"minLength":1,"title":"Symbol"},"price":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Price"},"condition":{"type":"string","enum":["above","below"],"title":"Condition"}},"type":"object","required":["symbol","price","condition"],"title":"PriceAlertCreate"},"PriceAlertOut":{"properties":{"id":{"type":"string","title":"Id"},"symbol":{"type":"string","title":"Symbol"},"price":{"type":"string","title":"Price"},"condition":{"type":"string","title":"Condition"},"triggered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Triggered At"}},"type":"object","required":["id","symbol","price","condition"],"title":"PriceAlertOut"},"ProfitBody":{"properties":{"symbol":{"type":"string","title":"Symbol"},"side":{"type":"string","title":"Side"},"volume":{"type":"number","exclusiveMinimum":0.0,"title":"Volume"},"openPrice":{"type":"number","exclusiveMinimum":0.0,"title":"Openprice"},"closePrice":{"type":"number","exclusiveMinimum":0.0,"title":"Closeprice"}},"type":"object","required":["symbol","side","volume","openPrice","closePrice"],"title":"ProfitBody"},"ProtectionBody":{"properties":{"stopLoss":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stoploss"},"takeProfit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Takeprofit"}},"type":"object","title":"ProtectionBody"},"PublicSnapshotResponse":{"properties":{"external_event_id":{"type":"integer","title":"External Event Id"},"slug":{"type":"string","title":"Slug"},"event_name":{"type":"string","title":"Event Name"},"page_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Title"},"stream_status":{"type":"string","title":"Stream Status"},"last_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Updated"},"poll_interval_seconds":{"type":"number","title":"Poll Interval Seconds"},"stream_tick":{"type":"integer","title":"Stream Tick","description":"Monotonic counter per live push (SSE); 0 when idle","default":0},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"watched_accounts_count":{"type":"integer","title":"Watched Accounts Count"},"rows":{"items":{"$ref":"#/components/schemas/LeaderboardRowOut"},"type":"array","title":"Rows"},"manager_connected":{"type":"boolean","title":"Manager Connected","default":true},"insights":{"additionalProperties":true,"type":"object","title":"Insights"},"heatmap":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Heatmap"}},"type":"object","required":["external_event_id","slug","event_name","page_title","stream_status","last_updated","poll_interval_seconds","last_error","watched_accounts_count","rows"],"title":"PublicSnapshotResponse"},"RefreshRequest":{"properties":{"refresh_token":{"type":"string","minLength":10,"title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"RefreshRequest"},"RefreshResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["access_token","expires_in"],"title":"RefreshResponse"},"SavedAccountCreate":{"properties":{"mt5_login":{"type":"integer","title":"Mt5 Login"},"label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Label"},"server":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Server"},"is_demo":{"type":"boolean","title":"Is Demo","default":false},"currency":{"anyOf":[{"type":"string","maxLength":3},{"type":"null"}],"title":"Currency"}},"type":"object","required":["mt5_login"],"title":"SavedAccountCreate"},"SavedAccountOut":{"properties":{"id":{"type":"string","title":"Id"},"mt5_login":{"type":"integer","title":"Mt5 Login"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"server":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server"},"is_demo":{"type":"boolean","title":"Is Demo"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","mt5_login","label","server","is_demo","currency","created_at"],"title":"SavedAccountOut"},"ServiceHealth":{"properties":{"status":{"type":"string","title":"Status"},"manager":{"$ref":"#/components/schemas/ManagerHealth"},"last_account_fetch_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Account Fetch Time"},"last_quote_event_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Quote Event Time"},"last_position_event_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Position Event Time"},"active_websocket_connections":{"type":"integer","title":"Active Websocket Connections","default":0},"active_mt5_logins_streamed":{"type":"integer","title":"Active Mt5 Logins Streamed","default":0},"cache_size":{"type":"integer","title":"Cache Size","default":0},"queue_depth":{"type":"integer","title":"Queue Depth","default":0},"recent_errors":{"items":{"type":"string"},"type":"array","title":"Recent Errors"},"uptime_seconds":{"type":"number","title":"Uptime Seconds","default":0.0}},"type":"object","required":["status","manager"],"title":"ServiceHealth"},"SlTpBody":{"properties":{"sl":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sl"},"tp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tp"}},"type":"object","title":"SlTpBody"},"StreamStatusResponse":{"properties":{"event_id":{"type":"integer","title":"Event Id"},"external_event_id":{"type":"integer","title":"External Event Id"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"competition_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Competition Status","description":"Config status from Laravel (e.g. published)"},"stream_status":{"type":"string","title":"Stream Status"},"watched_accounts_count":{"type":"integer","title":"Watched Accounts Count"},"current_top_count":{"type":"integer","title":"Current Top Count"},"last_sync_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sync At"},"last_push_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Push At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["event_id","external_event_id","stream_status","watched_accounts_count","current_top_count","last_sync_at","last_push_at","last_error"],"title":"StreamStatusResponse"},"UpdateGroupRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","maxLength":128,"minLength":1,"title":"Source Module"},"source_table":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Source Table"},"source_record_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Source Record Id"},"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"login":{"type":"integer","exclusiveMinimum":0.0,"title":"Login"},"group":{"type":"string","maxLength":128,"minLength":1,"title":"Group"}},"type":"object","required":["source_backend","source_module","idempotency_key","login","group"],"title":"UpdateGroupRequest"},"UpdateLeverageRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","maxLength":128,"minLength":1,"title":"Source Module"},"source_table":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Source Table"},"source_record_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Source Record Id"},"idempotency_key":{"type":"string","maxLength":191,"minLength":1,"title":"Idempotency Key"},"retry":{"type":"boolean","title":"Retry","default":false},"login":{"type":"integer","exclusiveMinimum":0.0,"title":"Login"},"leverage":{"type":"integer","maximum":1000000.0,"exclusiveMinimum":0.0,"title":"Leverage"}},"type":"object","required":["source_backend","source_module","idempotency_key","login","leverage"],"title":"UpdateLeverageRequest"},"UserPreferencesOut":{"properties":{"one_click_trading":{"type":"boolean","title":"One Click Trading","default":false},"sounds_enabled":{"type":"boolean","title":"Sounds Enabled","default":true},"default_volume":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Default Volume","default":"0.01"},"chart_theme":{"type":"string","title":"Chart Theme","default":"dark"}},"type":"object","title":"UserPreferencesOut"},"UserPreferencesUpdate":{"properties":{"one_click_trading":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"One Click Trading"},"sounds_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sounds Enabled"},"default_volume":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Default Volume"},"chart_theme":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Chart Theme"}},"type":"object","title":"UserPreferencesUpdate"},"ValidateBody":{"properties":{"symbol":{"type":"string","title":"Symbol"},"side":{"type":"string","title":"Side"},"volume":{"type":"number","exclusiveMinimum":0.0,"title":"Volume"},"orderType":{"type":"string","title":"Ordertype","default":"market"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"stopLoss":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stoploss"},"takeProfit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Takeprofit"}},"type":"object","required":["symbol","side","volume"],"title":"ValidateBody"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WatchedAccountRow":{"properties":{"mt5_account_id":{"type":"integer","minimum":1.0,"title":"Mt5 Account Id"},"participant_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Participant Id"},"competition_participant_account_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Competition Participant Account Id"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["mt5_account_id"],"title":"WatchedAccountRow"},"WatchedAccountsSyncRequest":{"properties":{"accounts":{"items":{"$ref":"#/components/schemas/WatchedAccountRow"},"type":"array","title":"Accounts"}},"type":"object","title":"WatchedAccountsSyncRequest"},"WatchlistBody":{"properties":{"symbols":{"items":{"type":"string"},"type":"array","title":"Symbols"}},"type":"object","title":"WatchlistBody"},"adapter__api__v2__trading__ClosePositionBody":{"properties":{"volume":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Volume"}},"type":"object","title":"ClosePositionBody"},"adapter__trading__schemas__ClosePositionBody":{"properties":{"volume":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Volume"}},"type":"object","title":"ClosePositionBody"},"app__models__schemas__BulkGroupRequest":{"properties":{"logins":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Logins"},"group":{"type":"string","minLength":1,"title":"Group","description":"MT5 group name, e.g. demo\\demoforex"}},"type":"object","required":["logins","group"],"title":"BulkGroupRequest"},"app__models__schemas__BulkLeverageRequest":{"properties":{"logins":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Logins"},"leverage":{"type":"integer","maximum":1000000.0,"minimum":1.0,"title":"Leverage","description":"Leverage value, e.g. 100 for 1:100"}},"type":"object","required":["logins","leverage"],"title":"BulkLeverageRequest"},"app__mt5_bridge__schemas__BulkGroupRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","title":"Source Module"},"continue_on_error":{"type":"boolean","title":"Continue On Error","default":true},"items":{"items":{"$ref":"#/components/schemas/BulkGroupItem"},"type":"array","title":"Items"}},"type":"object","required":["source_backend","source_module","items"],"title":"BulkGroupRequest"},"app__mt5_bridge__schemas__BulkLeverageRequest":{"properties":{"source_backend":{"type":"string","enum":["client","admin","system"],"title":"Source Backend"},"source_module":{"type":"string","title":"Source Module"},"continue_on_error":{"type":"boolean","title":"Continue On Error","default":true},"items":{"items":{"$ref":"#/components/schemas/BulkLeverageItem"},"type":"array","title":"Items"}},"type":"object","required":["source_backend","source_module","items"],"title":"BulkLeverageRequest"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}