Level2 Hub API

The live Level2 platform API — a single FastAPI service carrying 301 operations across the end-user surface (visual strategy canvas, backtesting, live and virtual deployment, market scanners, the strategy marketplace, prediction-market analytics) and the /broker/* partner surface brokers integrate against to register and manage their own customers' Level2 accounts, read strategies, deployments, trades and backtests, and measure execution latency and slippage. Broker partners authenticate with an HS256 JWT they mint themselves, capped at 180 minutes.

Operations 301

Showing the first 250 of 301. The full set is in the contract, and via get_provider_operations.

GET /blloo Test #
GET /remove_subscription Remove Subscription #
POST /api/external_analysis Track Event #
GET /health Health Check #
POST /verify_session Verify Session #
POST /register_user Register User #
POST /auth/google Google Auth #
POST /register_user_broker Register User Broker #
POST /login_user_broker Login User Broker #
POST /verify_user Verify User #
POST /send_otp_password_reset Send Otp Password Reset #
GET /ctrader_access Ctrader Access #
GET /ctrader_auth_callback Ctrader Auth Callback #
POST /reset_password Reset Password #
POST /register_login Register Login #
POST /session/relogin Relogin #
POST /login Login #
POST /generate_token Generate Token #
GET /check_for_token Check For Token #
POST /register_fcm_token Register Fcm Token #
GET /get_instrument_suggestions_v2 Get Instrument Suggestions V2 #
GET /validate_b_token Validate B Token #
POST /create_leverate_subdomain_secret Create Leverate Subdomain Secret #
POST /generate_leverate_token Generate Leverate Token #
POST /unlok/generate_token Generate Unlok Token #
POST /unlok/auth Unlok Auth #
POST /leverate_auth Leverate Auth #
GET /check_latest_order_status Check Latest Order Status #
POST /send_sms_otp Send Sms Otp #
POST /validate_sms_otp Validate Sms Otp #
GET /get_fcm_token_web Get Fcm Token Web #
GET /get_all_notification_deployments Get All Notification Deployments #
POST /undeploy_notification_strategy Undeploy Notification Strategy #
POST /profile_publish_strategy Profile Publish Strategy #
GET /get_published_strategies Get Published Strategies #
POST /deploy_notification_strategy Deploy Notification Strategy #
POST /deploy_scanner Deploy Scanner #
POST /undeploy_scanner Undeploy Scanner #
POST /get_scanner_deployments Get Scanner Deployments #
GET /get_deployment_notifications Get Deployment Notifications #
POST /read_deployment_notifications Read Deployment Notifications #
POST /build_new_strategy Build New Strategy #
POST /copy_strategy Copy Strategy #
POST /like_strategy Like Strategy #
POST /unlike_strategy Unlike Strategy #
GET /check_trades_position Check Trades Position #
GET /get_broker_specific_tickers Get Broker Specific Tickers #
POST /publish_explore_strategy Publish Explore Strategy #
GET /get_explore_strategies Get Explore Strategies #
GET /get_explore_strategy_favourites Get Explore Strategy Favourites #
GET /get_strategy_categories Get Strategy Categories #
POST /search_explore_strategies Search Explore Strategies #
GET /get_strategies_by_user Get Strategies #
GET /get_strategies_performance_metrics Get Strategies Performance Metrics #
GET /get_b2c_brokers Get B2C Brokers #
POST /update_live_trade_in_order_book Update Live Trade In Order Book #
GET /get_global_order_book Get Global Order Book #
GET /get_referred_user_count Get Referred User Count #
GET /get_live_expired_strategies_v2 Get Live Expired Strategies V2 #
GET /get_live_deps_pnl Get Live Deps Pnl #
GET /get_connected_broker_details_v2 Get Connected Broker Details V2 #
GET /get_live_strategy_full_order_book Get Live Strategy Full Order Book #
GET /get_swap_values Get Swap Values #
GET /get_all_live_deployments_v2 Get All Live Deployments V2 #
GET /get_p_l_live_deployed_strategies Get P L Live Deployed Strategies #
POST /get_multi_asset_strategies Get Multi Asset Strategies #
GET /get_strategy_add_ons Get Strategy Add Ons #
GET /get_live_strategy_order_book Get Live Strategy Order Book #
POST /update_live_trade Update Live Trade #
GET /get_live_deployments_order_status Get Live Deployments Order Status #
GET /get_live_deployments_aggregated_stats Get Live Deployments Aggregated Stats #
GET /get_live_deployment_strategies_volume Get Live Deployment Strategies Volume #
POST /composer_generate_strategy Composer Generate Strategy #
POST /update_user_preferences Update User Preferences #
GET /get_user_preferences Get User Preferences #
POST /set_notification_config Set Notification Config #
POST /generate_email_otp Generate Email Otp #
POST /verify_otp_token Verify Otp Token #
POST /set_notification_preference Set Notification Preference #
GET /get_notification_preference Get Notification Preference #
POST /support_request Support Request #
POST /fetch_pricing_plan_details Fetch Pricing Plan Details #
GET /get_main_pricing_plan_details Get Main Pricing Plan Details #
POST /upgrade_plan Upgrade Plan #
POST /contact_us_form_main_web Contact Us Form Main Web #
POST /join_us_form_main_web Join Us Form Main Web #
POST /upload_profile_image Upload Profile Image #
POST /upload_strategy_image Upload Strategy Image #
POST /update_user_description Update User Description #
POST /update_user_socials Update User Socials #
POST /delete_account Delete Account #
POST /set_language_preference Set Language Preference #
POST /set_nudges_tracker Set Nudges Tracker #
GET /get_yesterday_today_live_pnl Get Yesterday Today Live Pnl #
GET /get_monthly_live_pnl Get Monthly Live Pnl #
GET /get_alltime_live_pnl Get Alltime Live Pnl #
GET /expert_trader Expert Trader #
GET /get_strategy_details_collab Get Strategy Details Collab #
GET /get_strategy_details Get Strategy Details #
GET /get_strategy_details_for_multiasset Get Strategy Details For Multiasset #
GET /get_all_report_versions Get All Report Versions #
POST /change_strategy_timeframe Change Strategy Timeframe #
GET /get_report_data Get Report Data #
POST /change_backtest_mode Change Backtest Mode #
GET /get_deploy_live_stats Get Deploy Live Stats #
POST /deploy_live_strategy Deploy Live Strategy #
GET /get_deployment_hint_v2 Get Deployment Hint V2 #
POST /deploy_live_multi_asset_strategy Deploy Live Multi Asset Strategy #
POST /undeploy_live_strategy Undeploy Live Strategy #
POST /undeploy_live_multi_asset_strategy Undeploy Live Multi Asset Strategy #
POST /delete_strategy Delete Strategy #
POST /delete_multiple_strategies Delete Multiple Strategies #
POST /set_strategy_size Set Strategy Size #
POST /change_tp_sl_percent Change Tp Sl Percent #
POST /change_strategy_name Change Strategy Name #
GET /get_user_strategy_names Get User Strategy Names #
GET /copy_user_strategy Copy User Strategy #
POST /change_strategy_category Change Strategy Category #
GET /backtest_on_different_timeframe Backtest On Different Timeframe #
GET /strategy_trainer_try_tpsl_v2 Strategy Trainer Try Tpsl V2 #
GET /strategy_trainer_try_action_v2 Strategy Trainer Try Action V2 #
POST /change_strategy_via_trainer Change Strategy Via Trainer #
GET /get_benchmark_performance Get Benchmark Performance #
POST /save_broker_api_keys Save Broker Api Keys #
POST /save_broker_api_keys_v2 Save Broker Api Keys V2 #
POST /reset_broker_configuration Reset Broker Configuration #
GET /get_ctrader_instruments Get Ctrader Instruments #
GET /get_leverate_instruments Get Leverate Instruments #
GET /get_account_balances Get Account Balances #
GET /get_broker_api_keys Get Broker Api Keys #
GET /get_all_user_brokers Get All User Brokers #
POST /reset_user_broker_configuration Reset User Broker Configuration #
POST /verify_user_account Verify User Account #
GET /get_user_walkthrough_status Get User Walkthrough Status #
POST /set_user_walkthrough_status Set User Walkthrough Status #
GET /get_strategy_performance_stats Get Strategy Performance Stats #
GET /get_monitor_deployments_stats Get Monitor Deployments Stats #
POST /create_market_scanner_universe Create Market Scanner Universe #
POST /create_market_scanner_strategy Create Market Scanner Strategy #
POST /delete_market_scanner_strategy Delete Market Scanner Strategy #
POST /update_market_scanner_universe Update Market Scanner Universe #
POST /get_market_scanner_pre_built_strategies Get Market Scanner Pre Built Strategies #
POST /pre_built_strategies_view_data Pre Built Strategies View Data #
GET /get_market_scanner_universes Get Market Scanner Universes #
GET /get_market_scanner_strategies_v2 Get Market Scanner Strategies V2 #
POST /accept_collaboration_invitation Accept Collaboration Invitation #
POST /backtest_strategy Backtest Strategy #
GET /get_strategy_from_key Get Strategy From Key #
POST /upload_backtest_report_v2 Upload Backtest Report V2 #
POST /save_strategy Save Strategy #
GET /get_tv_symbol Get Tv Symbol #
POST /share_invitation Share Invitation #
POST /marketplace_filter_strategies Marketplace Filter Strategies #
GET /prediction_market_events Prediction Market Events #
GET /prediction_market_event_details Prediction Market Event Details #
GET /prediction_market_event_readable_names Prediction Market Event Readable Names #
GET /prediction_market_candlesticks Prediction Market Candlesticks #
GET /prediction_market_strict_sl Prediction Market Strict Sl #
GET /get_profitability_by_entry_probability Get Profitability By Entry Probability #
POST /marketplace_filter_authors Marketplace Filter Authors #
GET /marketplace_long_short_dominance Marketplace Long Short Dominance #
GET /marketplace_entry_exit_dominance Marketplace Entry Exit Dominance #
GET /marketplace_recent_trades Marketplace Recent Trades #
GET /get_logos Get Logos #
POST /save_addons Save Addons #
POST /generate_trending_symbols Generate Trending Symbols #
POST /generate_trending_strategies Generate Trending Strategies #
POST /generate_view_strategy_get_canvas_data Generate View Strategy Get Canvas Data #
POST /generate_trending_traders Generate Trending Traders #
GET /get_showcase_videos Get Showcase Videos #
POST /add_showcase_videos Add Showcase Videos #
GET /check_symbol_type Check Symbol Type #
GET /get_ctrader_accounts Get Ctrader Accounts #
GET /get_fennel_accounts Get Fennel Accounts #
GET /get_showcase_strategies Get Showcase Strategies #
GET /get_earnings_calendar Get Earnings Calendar #
GET /live_strategy_metrics Live Strategy Metrics #
GET /get_recent_fcm_token Get Recent Fcm Token #
GET /fetch_active_live_deployments Fetch Active Live Deployments #
GET /undeploy_live_deployment Undeploy Live Deployment #
GET /get_open_live_order Get Open Live Order #
POST /update_live_order Update Live Order #
POST /create_live_order Create Live Order #
POST /update_live_deployment_flag Update Live Deployment Flag #
POST /update_live_deployment_order_flag Update Live Deployment Order Flag #
POST /canvas_add_comment Canvas Add Comment #
GET /check_strategy_author Check Strategy Author #
GET /canvas_get_comments Canvas Get Comments #
GET /get_strategy_library Get Strategy Library #
GET /canvas_get_indicators Canvas Get Indicators #
GET /canvas_get_logics Canvas Get Logics #
GET /canvas_get_logics_v2 Canvas Get Logics V2 #
GET /canvas_get_pair_trading Canvas Get Pair Trading #
GET /canvas_get_patterns Canvas Get Patterns #
GET /canvas_get_chart_patterns Canvas Get Chart Patterns #
GET /canvas_get_datas Canvas Get Datas #
GET /canvas_get_actions Canvas Get Actions #
GET /canvas_get_notifications Canvas Get Notifications #
GET /canvas_get_categories Canvas Get Categories #
GET /canvas_query_indicator Canvas Query Indicator #
GET /get_ticker_data_v2 Get Ticker Data V2 #
GET /get_symbol_data_v2 Get Symbol Data V2 #
GET /get_symbol_data_tickers_v3 Get Symbol Data Tickers V3 #
GET /get_tickers_snapshot Get Tickers Snapshot #
GET /get_current_registered_count Get Current Registered Count #
POST /send_canvas_attendance Send Canvas Attendance #
GET /get_matchtrader_symbols Get Matchtrader Symbols #
GET /check_subscription_status Check Subscription Status #
GET /create_stripe_checkout_session Create Stripe Checkout Session #
POST /stripe/webhook Stripe Webhook #
GET /get_recent_strategies Get Recent Strategies #
GET /get_cohort_stats Get Cohort Stats #
GET /get_trader_stats Get Trader Stats #
GET /get_post_trade_analysis Get Post Trade Analysis #
GET /get_symbols_details Get Symbols Details #
GET /submit_email_for_video Submit Email For Video #
GET /publish_to_marketplace Publish To Marketplace #
GET /search_category_name Search Category Name #
GET /search_marketplace Search Marketplace #
GET /copy_marketplace_strategy Copy Marketplace Strategy #
GET /marketplace_parent_categories Marketplace Parent Categories #
GET /marketplace_child_categories Marketplace Child Categories #
GET /marketplace_list Marketplace List #
GET /challenge_leaderboard Challenge Leaderboard #
GET /forward_test_metrics Forward Test Metrics #
GET /get_search_items_suggestions_v2 Get Search Items Suggestions #
GET /get_leaderboard_stats Get Leaderboard Stats #
GET /migration Migratio #
GET /ci Ci #
GET /critical_alerts Critical Alerts #
GET /trading_challenge_tracker Trading Challenge Tracker #
GET /get_broker_user_stats Get Broker User Stats #
GET /get_all_broker_user_stats Get Broker User Stats #
GET /filter_broker_user_stats_via_date Filter Broker User Stats Via Date #
GET /filter_broker_stats_get_meta Filter Broker Stats Get Meta #
GET /filter_broker_user_stats_via_date_all Filter Broker User Stats Via Date All #
GET /deactivate_email Deactivate Email #
GET /calculate_broker_stats_v2 Calculate Broker Stats V2 #
GET /get_broker_user_latency_slippage Get Broker User Latency Slippage #
GET /broker_get_user_strategy_performance Broker Get User Strategy Performance #
GET /get_copiers_data_broker_stats Get Copiers Data Broker Stats #
GET /trading_challenge_ww Tcww #
GET /trading_challenge_cambridge Tccam #
GET /trading_challenge_oxford Tccam #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/level2-hub-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

level2-hub-controller-openapi.json Raw ↑
{"openapi":"3.0.2","info":{"title":"Level2 Hub Controller","version":"0.1.0"},"paths":{"/blloo":{"get":{"summary":"Test","operationId":"test_blloo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/remove_subscription":{"get":{"summary":"Remove Subscription","operationId":"remove_subscription_remove_subscription_get","parameters":[{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/external_analysis":{"post":{"summary":"Track Event","description":"Forward analytics events to GA4 Measurement Protocol.","operationId":"track_event_api_external_analysis_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsEvent"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health Check","description":"Health check endpoint to verify API is running.","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/verify_session":{"post":{"summary":"Verify Session","operationId":"verify_session_verify_session_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/register_user":{"post":{"summary":"Register User","operationId":"register_user_register_user_post","parameters":[{"required":true,"schema":{"title":"Auth","type":"string"},"name":"auth","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/google":{"post":{"summary":"Google Auth","operationId":"google_auth_auth_google_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleAuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCustomOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/register_user_broker":{"post":{"summary":"Register User Broker","operationId":"register_user_broker_register_user_broker_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_register_user_broker_register_user_broker_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/login_user_broker":{"post":{"summary":"Login User Broker","operationId":"login_user_broker_login_user_broker_post","parameters":[{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"query"},{"required":true,"schema":{"title":"Password","type":"string"},"name":"password","in":"query"},{"required":true,"schema":{"title":"Broker Domain","type":"string"},"name":"broker_domain","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/verify_user":{"post":{"summary":"Verify User","operationId":"verify_user_verify_user_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCustomOut"}}}}}}},"/send_otp_password_reset":{"post":{"summary":"Send Otp Password Reset","operationId":"send_otp_password_reset_send_otp_password_reset_post","parameters":[{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ctrader_access":{"get":{"summary":"Ctrader Access","operationId":"ctrader_access_ctrader_access_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ctrader_auth_callback":{"get":{"summary":"Ctrader Auth Callback","description":"Handle cTrader OAuth2 callback and exchange code for token.","operationId":"ctrader_auth_callback_ctrader_auth_callback_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/reset_password":{"post":{"summary":"Reset Password","operationId":"reset_password_reset_password_post","parameters":[{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"query"},{"required":true,"schema":{"title":"New Password","type":"string"},"name":"new_password","in":"query"},{"required":true,"schema":{"title":"Otp","type":"integer"},"name":"otp","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/register_login":{"post":{"summary":"Register Login","operationId":"register_login_register_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_register_login_register_login_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCustomOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/session/relogin":{"post":{"summary":"Relogin","operationId":"relogin_session_relogin_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCustomOut"}}}}}}},"/login":{"post":{"summary":"Login","operationId":"login_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_login_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCustomOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate_token":{"post":{"summary":"Generate Token","operationId":"generate_token_generate_token_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/check_for_token":{"get":{"summary":"Check For Token","operationId":"check_for_token_check_for_token_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/register_fcm_token":{"post":{"summary":"Register Fcm Token","operationId":"register_fcm_token_register_fcm_token_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Fcm Key","type":"string"},"name":"fcm_key","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_instrument_suggestions_v2":{"get":{"summary":"Get Instrument Suggestions V2","operationId":"get_instrument_suggestions_v2_get_instrument_suggestions_v2_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Instrument","type":"string"},"name":"instrument","in":"query"},{"required":false,"schema":{"title":"Type","type":"string","default":"equity"},"name":"type","in":"query"},{"required":false,"schema":{"title":"Server","type":"string"},"name":"server","in":"query"},{"required":false,"schema":{"title":"Broker Id","type":"integer"},"name":"broker_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/validate_b_token":{"get":{"tags":["Leverate Util APIs"],"summary":"Validate B Token","operationId":"validate_b_token_validate_b_token_get","parameters":[{"required":true,"schema":{"title":"Token","type":"string"},"name":"token","in":"query"},{"required":false,"schema":{"title":"Broker Sub","type":"string"},"name":"broker_sub","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/create_leverate_subdomain_secret":{"post":{"tags":["Leverate Util APIs"],"summary":"Create Leverate Subdomain Secret","operationId":"create_leverate_subdomain_secret_create_leverate_subdomain_secret_post","parameters":[{"required":true,"schema":{"title":"Broker Name","type":"string"},"name":"broker_name","in":"query"},{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"query"},{"required":false,"schema":{"title":"Website","type":"string"},"name":"website","in":"query"},{"required":false,"schema":{"title":"Guid","type":"string"},"name":"guid","in":"query"},{"required":false,"schema":{"title":"Logo Url","type":"string"},"name":"logo_url","in":"query"},{"required":false,"schema":{"title":"Broker Favicon Url","type":"string"},"name":"broker_favicon_url","in":"query"},{"required":false,"schema":{"title":"Broker App Name","type":"string"},"name":"broker_app_name","in":"query"},{"required":false,"schema":{"title":"Accent Color","type":"string"},"name":"accent_color","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate_leverate_token":{"post":{"tags":["Leverate Util APIs"],"summary":"Generate Leverate Token","operationId":"generate_leverate_token_generate_leverate_token_post","parameters":[{"required":false,"schema":{"title":"Account Id","type":"string"},"name":"account_id","in":"query"},{"required":false,"schema":{"title":"Server Id","type":"integer"},"name":"server_id","in":"query"},{"required":false,"schema":{"title":"Broker Sub Domain","type":"string"},"name":"broker_sub_domain","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/unlok/generate_token":{"post":{"tags":["Unlok Util APIs"],"summary":"Generate Unlok Token","operationId":"generate_unlok_token_unlok_generate_token_post","parameters":[{"required":false,"schema":{"title":"Account Id","type":"string"},"name":"account_id","in":"query"},{"required":false,"schema":{"title":"Server Id","type":"integer"},"name":"server_id","in":"query"},{"required":false,"schema":{"title":"Broker Sub Domain","type":"string"},"name":"broker_sub_domain","in":"query"},{"required":false,"schema":{"title":"Support Email","type":"string"},"name":"support_email","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/unlok/auth":{"post":{"tags":["Unlok Util APIs"],"summary":"Unlok Auth","operationId":"unlok_auth_unlok_auth_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/leverate_auth":{"post":{"summary":"Leverate Auth","operationId":"leverate_auth_leverate_auth_post","parameters":[{"required":false,"schema":{"title":"Broker Guid","type":"string"},"name":"broker_guid","in":"query"},{"required":false,"schema":{"title":"Broker Name","type":"string"},"name":"broker_name","in":"query"},{"required":false,"schema":{"title":"Broker Logo Url","type":"string"},"name":"broker_logo_url","in":"query"},{"required":false,"schema":{"title":"Support Email","type":"string"},"name":"support_email","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/check_latest_order_status":{"get":{"summary":"Check Latest Order Status","operationId":"check_latest_order_status_check_latest_order_status_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Strategy Id","type":"integer"},"name":"strategy_id","in":"query"},{"required":true,"schema":{"title":"Depl Id","type":"integer"},"name":"depl_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/send_sms_otp":{"post":{"summary":"Send Sms Otp","operationId":"send_sms_otp_send_sms_otp_post","parameters":[{"required":true,"schema":{"title":"Ph Number","type":"string"},"name":"ph_number","in":"query"},{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"query"},{"required":true,"schema":{"title":"Cf Token","type":"string"},"name":"cf_token","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/validate_sms_otp":{"post":{"summary":"Validate Sms Otp","operationId":"validate_sms_otp_validate_sms_otp_post","parameters":[{"required":true,"schema":{"title":"Otp","type":"string"},"name":"otp","in":"query"},{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_fcm_token_web":{"get":{"summary":"Get Fcm Token Web","operationId":"get_fcm_token_web_get_fcm_token_web_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_all_notification_deployments":{"get":{"summary":"Get All Notification Deployments","operationId":"get_all_notification_deployments_get_all_notification_deployments_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":false,"schema":{"title":"Page","minimum":1.0,"type":"integer","default":1},"name":"page","in":"query"},{"required":false,"schema":{"title":"Size","maximum":100.0,"minimum":1.0,"type":"integer","default":50},"name":"size","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_NotificationDeploymentOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/undeploy_notification_strategy":{"post":{"summary":"Undeploy Notification Strategy","operationId":"undeploy_notification_strategy_undeploy_notification_strategy_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Deployment Id","type":"integer"},"name":"deployment_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/profile_publish_strategy":{"post":{"summary":"Profile Publish Strategy","operationId":"profile_publish_strategy_profile_publish_strategy_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Strategy Id","type":"integer"},"name":"strategy_id","in":"query"},{"required":true,"schema":{"title":"Publish State","type":"integer"},"name":"publish_state","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_published_strategies":{"get":{"summary":"Get Published Strategies","operationId":"get_published_strategies_get_published_strategies_get","parameters":[{"required":true,"schema":{"title":"User Key","type":"string"},"name":"user_key","in":"query"},{"required":false,"schema":{"title":"User Id"},"name":"user_id","in":"query"},{"required":false,"schema":{"title":"Page","minimum":1.0,"type":"integer","default":1},"name":"page","in":"query"},{"required":false,"schema":{"title":"Size","maximum":100.0,"minimum":1.0,"type":"integer","default":50},"name":"size","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_StrategiesCustomOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/deploy_notification_strategy":{"post":{"summary":"Deploy Notification Strategy","operationId":"deploy_notification_strategy_deploy_notification_strategy_post","parameters":[{"required":true,"schema":{"title":"Keygen","type":"string"},"name":"keygen","in":"query"}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_deploy_notification_strategy_deploy_notification_strategy_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationDeploymentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/deploy_scanner":{"post":{"summary":"Deploy Scanner","operationId":"deploy_scanner_deploy_scanner_post","parameters":[{"required":true,"schema":{"title":"Keygen","type":"string"},"name":"keygen","in":"query"},{"required":true,"schema":{"title":"Universe Id","type":"string"},"name":"universe_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/undeploy_scanner":{"post":{"summary":"Undeploy Scanner","operationId":"undeploy_scanner_undeploy_scanner_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Deployment Id","type":"string"},"name":"deployment_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_scanner_deployments":{"post":{"summary":"Get Scanner Deployments","operationId":"get_scanner_deployments_get_scanner_deployments_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":false,"schema":{"title":"Page","minimum":1.0,"type":"integer","default":1},"name":"page","in":"query"},{"required":false,"schema":{"title":"Size","maximum":100.0,"minimum":1.0,"type":"integer","default":50},"name":"size","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ScannerDeploymentsOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_deployment_notifications":{"get":{"summary":"Get Deployment Notifications","operationId":"get_deployment_notifications_get_deployment_notifications_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":false,"schema":{"title":"Page","minimum":1.0,"type":"integer","default":1},"name":"page","in":"query"},{"required":false,"schema":{"title":"Size","maximum":100.0,"minimum":1.0,"type":"integer","default":50},"name":"size","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_UserDeploymentNotificationsCustomOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/read_deployment_notifications":{"post":{"summary":"Read Deployment Notifications","operationId":"read_deployment_notifications_read_deployment_notifications_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/build_new_strategy":{"post":{"summary":"Build New Strategy","operationId":"build_new_strategy_build_new_strategy_post","parameters":[{"required":true,"schema":{"title":"Symbol","type":"string"},"name":"symbol","in":"query"},{"required":true,"schema":{"title":"Timeframe","type":"string"},"name":"timeframe","in":"query"},{"required":true,"schema":{"title":"Strategy Name","type":"string"},"name":"strategy_name","in":"query"},{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":false,"schema":{"title":"Broker Id","type":"integer"},"name":"broker_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrategyPrefCustomOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/copy_strategy":{"post":{"summary":"Copy Strategy","operationId":"copy_strategy_copy_strategy_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Strategy Key","type":"string"},"name":"strategy_key","in":"query"},{"required":false,"schema":{"title":"Symbol","type":"string"},"name":"symbol","in":"query"},{"required":false,"schema":{"title":"Broker Id","type":"integer"},"name":"broker_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrategyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/like_strategy":{"post":{"summary":"Like Strategy","operationId":"like_strategy_like_strategy_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Strategy Id","type":"integer"},"name":"strategy_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExploreStrategyFavouriteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/unlike_strategy":{"post":{"summary":"Unlike Strategy","operationId":"unlike_strategy_unlike_strategy_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Strategy Id","type":"integer"},"name":"strategy_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExploreStrategyFavouriteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/check_trades_position":{"get":{"summary":"Check Trades Position","operationId":"check_trades_position_check_trades_position_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_broker_specific_tickers":{"get":{"summary":"Get Broker Specific Tickers","operationId":"get_broker_specific_tickers_get_broker_specific_tickers_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Broker","type":"string"},"name":"broker","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Broker Specific Tickers Get Broker Specific Tickers Get","type":"array","items":{"$ref":"#/components/schemas/BrokerTickersOut"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/publish_explore_strategy":{"post":{"summary":"Publish Explore Strategy","operationId":"publish_explore_strategy_publish_explore_strategy_post","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Strategy Id","type":"integer"},"name":"strategy_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExploreStrategyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_explore_strategies":{"get":{"summary":"Get Explore Strategies","operationId":"get_explore_strategies_get_explore_strategies_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":false,"schema":{"title":"Page","minimum":1.0,"type":"integer","default":1},"name":"page","in":"query"},{"required":false,"schema":{"title":"Size","maximum":100.0,"minimum":1.0,"type":"integer","default":50},"name":"size","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ExploreStrategyOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_explore_strategy_favourites":{"get":{"summary":"Get Explore Strategy Favourites","operationId":"get_explore_strategy_favourites_get_explore_strategy_favourites_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Explore Strategy Favourites Get Explore Strategy Favourites Get","type":"array","items":{"$ref":"#/components/schemas/ExploreStrategyFavouriteOut"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_strategy_categories":{"get":{"summary":"Get Strategy Categories","operationId":"get_strategy_categories_get_strategy_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Strategy Categories Get Strategy Categories Get","type":"array","items":{"$ref":"#/components/schemas/StrategyCategoryOut"}}}}}}}},"/search_explore_strategies":{"post":{"summary":"Search Explore Strategies","operationId":"search_explore_strategies_search_explore_strategies_post","parameters":[{"required":true,"schema":{"title":"Term","type":"string"},"name":"term","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Search Explore Strategies Search Explore Strategies Post","type":"array","items":{"$ref":"#/components/schemas/ExploreStrategyOut"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_strategies_by_user":{"get":{"summary":"Get Strategies","operationId":"get_strategies_get_strategies_by_user_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":false,"schema":{"title":"Is Copied","type":"integer","default":0},"name":"is_copied","in":"query"},{"required":false,"schema":{"title":"Search Key","type":"string"},"name":"search_key","in":"query"},{"required":false,"schema":{"title":"Broker Id","type":"integer"},"name":"broker_id","in":"query"},{"description":"Page number","required":false,"schema":{"title":"Page","minimum":1.0,"type":"integer","description":"Page number","default":1},"name":"page","in":"query"},{"description":"Items per page","required":false,"schema":{"title":"Size","maximum":100.0,"minimum":1.0,"type":"integer","description":"Items per page","default":10},"name":"size","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedStrategiesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_strategies_performance_metrics":{"get":{"summary":"Get Strategies Performance Metrics","operationId":"get_strategies_performance_metrics_get_strategies_performance_metrics_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"},{"required":true,"schema":{"title":"Strategy Ids","type":"string"},"name":"strategy_ids","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_b2c_brokers":{"get":{"summary":"Get B2C Brokers","operationId":"get_b2c_brokers_get_b2c_brokers_get","parameters":[{"required":true,"schema":{"title":"User Id","type":"string"},"name":"user_id","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"descriptio

# --- truncated at 32 KB (237 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/level2/refs/heads/main/openapi/level2-hub-controller-openapi.json