This is an old revision of the document!
User Creation API
The User Creation API provides endpoints for creating and managing users on the T4 platform. This documentation outlines the step-by-step process required to set up new users through the API.
Overview
Creating a new user in the T4 system involves four essential steps:
- Step 1: Create user account
- Step 2: Create trading account
- Step 3: User market data selection
- Step 4: User signs EULAs
Each step must be completed in sequence to ensure proper user setup.
Default User and Account
New users and accounts are created using the firm default user and account as a template. Proper configuration of the firm default will simplify integration by reducing the amount of customization needed for each new user.
Note: For different user types, you can override the default by using the templateUser
or templateAccount
parameter, allowing unlimited pre-configured user and account defaults.
Step 1: Create User Account
This endpoint creates a base user profile in the system.
Request
{ "username": "[email protected]", "password": "0ctopus777{", "firstname": "Test", "lastname": "User", "phone": "212-555-0123", "email": "[email protected]", "street": "2 Pierce Place", "city": "Itasca", "county": "Dupage", "state": "IL", "postCode": "60143", "country": "US", "apptype": "NonProfessional" }
Response
{ "result": { "value": { "data": { "userID": "8C6AC430-3292-4C1D-BE98-F0637B64734F", "userName": "[email protected]", "lastname": "User", "firstname": "Test", "enabled": true, "message": "", "company": "", "phone": "212-555-0123", "email": "[email protected]", "firmID": "2884B215-4A4B-4E9D-A40E-F8212D713E13", "billingRef": "", "street": "2 Pierce Place", "city": "Itasca", "county": "Dupage", "state": "IL", "postCode": "60143", "country": "US", "simFirm": "", "simUsername": "", "simLinkedUserID": "", "userCreationDate": "2025-04-24T00:00:00", "appType": "NonProfessional", "cmeMarketDataNetting": "Netting", "trialExpires": "2025-05-08T00:00:00", "iceMarketDataAccount": "", "iceMarketDataParentAccount": "", "euronextMarketDataAccount": "", "euronextMarketDataParentAccount": "", "custOrderHandlingInst": "Electronic", "applications": [ /* Application list truncated for brevity */ ], "roles": [ "TimeEntry", "QueueOrders", "ANTSEditor", "ANTSFastBoard", "MarketProfile", "Strategy", "ModifyOrders", "BasicCharting", "Charting", "ANTS1", "PitTrades", "BillingRetail1", "Trading", "ANTSAccountNet", "StrategyQuotes" ], "accounts": [] }, "metadata": { "timestamp": "2025-04-24T18:03:32.2637427Z", "requestId": "0HNC3B7647GLB:00000001" } }, "formatters": [], "contentTypes": [], "statusCode": 200 } }
Important: Make note of the userID
value in the response. This will be needed for Step 2.
Step 2: Create Trading Account
This endpoint creates a trading account and links it to the user created in Step 1.
Request
{ "account": "chadtest13", "accountName": "chadtest13", "templateAccount": "Chad01", "displayName": "Chad Test 13", "accountUserId": "8C6AC430-3292-4C1D-BE98-F0637B64734F" }
Response
{ "result": { "value": { "data": { "accountID": "33CB0961-CBD8-408F-9EE1-06E34BB78D21", "firmID": "2884B215-4A4B-4E9D-A40E-F8212D713E13", "account": "chadtest13", "accountName": "chadtest13", "displayName": "", "balance": 0.00000, "cash": 0.00000, "maxClipSize": 2000, "preTradeDisabled": true, "deleted": false, "enabled": "Disabled", "positionRollover": false, "plRollover": true, "minBalance": 0.00000, "marginPC": 100.0, "overnightMarginPC": 100.0, "lossLimit": 0.00000, "lossLimitPC": 0.0, "dayLossLimit": 0.00000, "dayLossLimitPC": 0.0, "maxPosition": -1, "noBalanceUpdates": false, "noPositionUpdates": false, "accountMode": "ByContract", "orderRouting": false, "groupName": "", "activeTimeStart": "", "activeTimeStop": "", "strategyMaxClipSize": 2000, "strategyMaxPosition": -1, "warningThresholdPL": -1, "warningThresholdLossLimit": -1, "warningThresholdMargin": -1, "boFirmCode": "", "boOfficeCode": "", "boSalesCode": "", "totalPitTrades": -1, "strategyTotalPitTrades": -1, "maxContractMargin": -1.00000, "maxContractDayMargin": -1.00000, "blockExpiring": -1, "blockExpiringOptions": -1, "maxAccountPosition": -1, "usePLForMargin": true, "usePremiumForMargin": false, "riskAlerts": false, "fees": 0.0, "commission": 0.00000, "eMail": "", "wideMarket": -1, "priceBanding": -1, "riskDebug": "None", "tradeImport": false, "marginType": "Spec", "maxDelta": -1.00000, "maxWorkingLongDelta": -1.00000, "maxWorkingShortDelta": -1.00000, "delayed": false, "assignedType": true, "optionsSettlement": 0, "warningThresholdMinNetEquity": 0.00000, "riskDetails": { "comparisonRiskNumber": 0.0, "comparisonNetLiqBalPCRiskNumber": 0.0, "comparisonPCChangeVolatility": 0.2, "comparisonPCChangeUnderlying": 0.1, "comparisonWarningLevel": 0.8, "maxDailyTheoLoss": 0.0, "maxDailyTheoLossPCWarning": 0.8, "greekDelta": 0.0, "greekDeltaWarning": 0.8, "greekVega": 0.0, "greekVegaWarning": 0.8, "greekGamma": 0.0, "greekGammaWarning": 0.8, "greekTheta": 0.0, "greekThetaWarning": 0.8 }, "firm": "", "parentFirmID": "" }, "metadata": { "timestamp": "2025-04-24T19:14:58.7012103Z", "requestId": "0HNC3CH5EIF80:00000001" } }, "formatters": [], "contentTypes": [], "statusCode": 200 } }
Step 3: User Market Data Selection
This step configures the market data feeds accessible to the user.
Request
{ // Market data selection configuration // Documentation coming soon }
Step 4: User Signs EULAs
This step completes the user creation process by confirming acceptance of required End User License Agreements.
Request
{ // EULA acceptance configuration // Documentation coming soon }
User Creation Flowchart
Common Parameters
Parameter | Description | Type | Required |
---|---|---|---|
username | Unique identifier for the user | String | Yes |
account | Trading account identifier | String | Yes |
templateUser | Optional user template override | String | No |
templateAccount | Optional account template override | String | No |
apptype | User market data permissions type | String | Yes |
Common Response Codes
Code | Description |
---|---|
200 | Success |
400 | Bad Request - Check request format |
401 | Unauthorized - Authentication failed |
404 | Not Found - Resource doesn't exist |
500 | Server Error - Contact support |
Support
For questions, issues, or assistance with the User Creation API, please contact:
- Email: T4.API@plus500.com