account_id you pass to the trading endpoints must come from POST /v1/firm-control/accounts.
Flow
- The trader signs up (or your backoffice ingests them from your CRM).
- Your backend calls
POST /v1/firm-control/accountswith the trader’s email and the plan reference. Optionalidempotency_keyandprice_paidrecord the purchase id and the amount paid. - Tradara creates the user (if new), the evaluation accounts (one or more per plan), and returns the IDs.
- Your backend stores the mapping and starts the trader on the Trading API.
POST /v1/firm-control/accounts/{account_id}/replace.
That closes the original account and returns a new account_id.
Recover account mappings
If your backend did not persist account IDs returned during provisioning, callGET /v1/firm-control/accounts. Omit user_id to page through every account in your firm, pass user_id to recover one trader’s accounts, or pass idempotency_key to look up the account for a purchase id.
Plan references
plan_reference is your firm’s stable SKU slug (for example eval-50k). It still selects the product template: balance, risk, passing criteria, position limits, and sessions.
You can overlay this account’s starting balance, risk profile, and passing criteria on POST /v1/firm-control/accounts. Those overlays clone the template rows so other accounts on the same plan are unchanged.
PUT /v1/firm-control/offerings only enables or disables a product family (for example futures prop vs predictions prop). It is not the place to edit drawdown or profit-target numbers.
