Perform advanced account management operations with powerful tools for resetting demo accounts, switching risk categories, updating liquidity, and managing trading halts.
Reset a simulation account to its market-open state on a given date. This is useful for returning accounts to their starting values or fixing issues that occurred during trading.
Bulk Operations: You can select multiple accounts for bulk execution of this action.
Use the following endpoints:
Production: https://demo.tradovateapi.com/v1/account/resetDemoAccountState
Development: https://demo-api.staging.ninjatrader.dev/v1/account/resetDemoAccountState
Send a POST request with this JSON body:
Success Response:
Error Response:
Switch an account’s Risk Category to change risk parameters like max lot size, allowed products, or to switch to a trade-halted category.
Risk Category: A Risk Category is the base risk profile assigned to your account templates. We design each Risk Category based on vendor requirements. These entities define the most basic risk params associated with the account type, such as max lot size and allowed/restricted products.
Use the following endpoints:
Production: https://demo.tradovateapi.com/v1/accountRiskStatus/switchRiskCategory
Development: https://demo-api.staging.ninjatrader.dev/v1/accountRiskStatus/switchRiskCategory
Send a POST request with this JSON body:
To find all Risk Categories associated with your organization, call /riskCategory/list.
Lock or unlock an account to control trading permissions and account access.
Use the following endpoints:
Production: https://demo.tradovateapi.com/v1/accountRiskStatus/setAdminAutoLiqAction
Development: https://demo-api.staging.ninjatrader.dev/v1/accountRiskStatus/setAdminAutoLiqAction
Send a POST request with this JSON body:
Update an account’s maximum net liquidity to fix drawdown issues or adjust risk parameters.
Use the following endpoints:
Production: https://demo.tradovateapi.com/v1/accountRiskStatus/updateMaxNetLiq
Development: https://demo-api.staging.ninjatrader.dev/v1/accountRiskStatus/updateMaxNetLiq
Send a POST request with this JSON body:
Halt trading for all accounts that have a given risk category. This allows you to turn off a product type temporarily or halt all trading for your business in an emergency.
Important: Please favor the riskTimePeriod-based method over the Category Halt method. Read more about this in the Holiday Liquidation section.
Use the following endpoints:
Production: https://demo.tradovateapi.com/v1/accountRiskStatus/setDemoHalt
Development: https://demo-api.staging.ninjatrader.dev/v1/accountRiskStatus/setDemoHalt
Send a POST request with this JSON body:
Make direct balance changes to demo accounts. Use this carefully as it may have unexpected results when dealing with auto-liquidation configurations.
Use the following endpoints:
Production: https://demo.tradovateapi.com/v1/cashBalance/changeDemoBalance
Development: https://demo-api.staging.ninjatrader.dev/v1/cashBalance/changeDemoBalance
Send a POST request with this JSON body:
Revoke multiple trading permissions at once using the following endpoints:
Production: https://demo.tradovateapi.com/v1/user/revokeTradingPermissions
Development: https://demo-api.staging.ninjatrader.dev/v1/user/revokeTradingPermissions
Send a POST request with this body:
Use the special “cancelEverything” API endpoint to cancel all subscriptions, revoke trading permissions, and clear MD subscriptions and renewals.
Important: To clear all subscriptions, you MUST call the endpoint on both live and demo environments! This endpoint should be used when an end user fails their evaluation accounts to ensure all subscriptions are expired/revoked.
Production Endpoints:
https://demo.tradovateapi.com/v1/user/cancelEverythinghttps://live.tradovateapi.com/v1/user/cancelEverythingDevelopment Endpoints:
https://demo-api.staging.ninjatrader.dev/v1/user/cancelEverythinghttps://live-api.staging.ninjatrader.dev/v1/user/cancelEverythingSend a POST request with this JSON body:
Response:
tradovateSubscriptionIds, userPluginIds, and marketDataSubscriptionIds will only be cancelled when calling from the LIVE environment, while tradingPermissionIds will only be cancelled when calling from the DEMO environment. This is why it is necessary to call the endpoint in both environments to fully cancel the user’s membership.