Account Provisioning

Overview

Ready to assign trading permissions to your users? You can follow these operational steps to get up-and-running. Creating and assigning account permissions is now as simple as a single step, and can be performed in batch.

1. Create Evaluation accounts

From the demo (prod) or demo-api (staging) domains, you can call /user/createEvaluationAccounts to create brand new accounts and automatically assign them to users by user ID.

POST
/v1/user/createevaluationaccounts
1curl -X POST https://demo.tradovateapi.com/v1/user/createevaluationaccounts \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "accounts": [
6 {
7 "userId": 1,
8 "templateAccountId": 1,
9 "name": "string",
10 "initialBalance": 1.1
11 }
12 ]
13}'
Response
1{
2 "results": [
3 {
4 "errorText": "string",
5 "accountId": 1,
6 "tradingPermissionId": 1
7 }
8 ],
9 "errorText": "string"
10}

You may notice the tradingPermissionId field present on the response - this endpoint will create the account as well as assign a new trading permission in one operation.

Template Account ID

An Eval Support representative should have already set you up with template accounts for your org, based on the requirements you have provided. If you don’t already know your template account IDs, it is easiest to go to Dashboards and find them. You can use the Simulation environment to do so.

  1. Go to Dashboards and log into the Simulation environment.
  2. Navigate to Query Builder from the left nav bar.
  3. Choose accounts from the Repository drop-down.
  4. Find accounts with “template account” names. Typically a query like this will do the trick: name like "(?ium).*5K" OR name like "(?ium).*0K" (query examples prod staging)

What Information Does NT Need to Build My Templates?

If you don’t already have template accounts setup for your organization, you will need to reach out to the Evaluation Support team to do so. In order for our team to create a Template Account or set of Template Accounts for our partners, you will need to provide the following:

  • A name for the account template.
  • Lot limits for the account type, such as how many e-mini or micro contracts that the account can hold at maximum.
  • Restricted products. You can restrict access to any products, product categories, or even whole exchanges for an account type.
  • Liquidation time - by default we will set an automatic liquidation time between 4PM and 5PM CT, however you can specify something more specific (or even edit the value yourself after it’s creation via RiskTimePeriod).

Note: values such as daily loss limits or trailing drawdown are set via Post-Trade risk, and we don’t define them at the template level. These values must be set at the time of account creation.

2. Revoke Trading Permissions

When a user fails their evaluation or terminates their service, you can revoke trading permissions.

POST
/v1/user/revoketradingpermission
1curl -X POST https://demo.tradovateapi.com/v1/user/revoketradingpermission \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "tradingPermissionId": 1
6}'
Response
1{
2 "errorText": "string",
3 "tradingPermission": {
4 "userId": 1,
5 "accountId": 1,
6 "accountHolderContact": "string",
7 "accountHolderEmail": "string",
8 "ctaContact": "string",
9 "ctaEmail": "string",
10 "status": "Accepted",
11 "id": 1,
12 "updated": "2024-01-15T09:30:00Z",
13 "approvedById": 1
14 }
15}

And in bulk:

POST
/v1/user/revoketradingpermissions
1curl -X POST https://demo.tradovateapi.com/v1/user/revoketradingpermissions \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "tradingPermissionIds": [
6 1
7 ]
8}'
Response
1{
2 "ok": true,
3 "errorText": "string"
4}

Doing so will immediately remove the account from the user’s viewable accounts. An account in this state can be restored, but will be archived within 7-10 days if there is no further activity for most partners.