Traders Room — Sign Up API
The Sign Up API allows external systems to register new clients in the platform.
It supports:
-
Creating a new user
-
Passing marketing / affiliate data
-
Passing business / routing configuration
-
Optional email notification
-
Optional instant login via autologin link
🎯 Use Cases
This endpoint is intended for:
-
Partner platforms
-
Affiliate systems
-
Landing pages / funnels
-
External onboarding flows
🌐 Endpoint
POST /tradersroom/api/auth/signup
🔐 Authentication
ExternalAll external requests must include an API key.
Header
x-api-key: <your-api-key>
Errors
| |
|
⚙️ Request Format
Headers
| Header | Required | Value |
|---|---|---|
| Content-Type | ✅ | application/json |
| x-api-key | ✅ | Provided by platform |
| Origin | ❌ | Your domain |
📥 Request Body
Required Fields
{
"email": "[email protected]",
"phone": "+1234567890",
"firstName": "Jane"
}
Optional📊 Fields
Full {
"lastName": "Doe",
"affiliateID": "AFF-123",
"campaignId": "CMP-456",
"sourceId": "facebook_ads",
"externalId": "your-system-id",
"dateOfBirth": "1990-01-01",
"sendEmail": true,
"billing": {
"country": "US",
"city": "New York",
"address": "Wall Street 1"
}
}
Field Reference
🧑 Basic Information
| Field | Type | Required | Description |
|---|---|---|---|
| string | ✅ | User email | |
| phone | string | ✅ | Phone number |
| firstName | string | ✅ | First name |
| middleName | string | ❌ | Middle name |
| lastName | string | ❌ | Last name |
| ❌ | |||
| dateOfBirth | string | ❌ | Date of birth (ISO format) |
| nationality | string | ❌ | Nationality |
| passport | string | ❌ | Passport |
📞 Contact Information
| Field | Type | Required | Description |
|---|---|---|---|
| additionalPhone | string | ❌ | Secondary phone |
📢 Affiliate & Marketing
| Field | Type | Required | Description |
|---|---|---|---|
| affiliateID | string | ❌ | Affiliate identifier |
| subID | string | ❌ | Affiliate sub-id |
| campaignId | string | ❌ | |
| sourceId | string | ❌ | Traffic source |
| meta | string | ❌ | Additional metadata |
| externalId | string | ❌ |
🏢 Business / Routing Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| string | ❌ | ||
| ❌ | |||
| manager | string | ❌ | Manager (id / email / name) |
| status | string | ❌ | Client status |
| state | string | ❌ | Client state (active, live, etc.) |
| type | string | ❌ | Client type |
| companyFeeGroup | string | ❌ | Fee group |
| processed | boolean | ❌ | Used in custom flows |
🛡️ Verification & Permissions
| Field | Type | Required | Description |
|---|---|---|---|
| verificationLevel | string | ❌ | Verification level |
| verificationStatus | string | ❌ | Verification status |
| allowToCreateAsset | boolean | ❌ | Allow asset creation |
| agreements | array | ❌ | Signed agreements |
⚙️ Traders Room Options
| Field | Type | Required | Description |
|---|---|---|---|
| sendEmail | boolean | ❌ | Send registration email |
📦 Nested Objects
billing
{
"billing": {
"country": "US",
"region": "NY",
"city": "New York",
"postcode": "10001",
"address": "Wall Street 1"
}
}
| Field | Type |
|---|---|
| country | string |
| region | string |
| city | string |
| postcode | string |
| address | string |
agreements
{
"agreements": [
{
"label": "Terms and Conditions",
"ip": "127.0.0.1",
"signedAt": "2026-01-01T12:00:00Z"
}
]
}
| Field | Type | Description |
|---|---|---|
| label | string | Agreement name |
| ip | string | Signing IP |
| signedAt | string | ISO date |
📤 Responses
✅ Success — With Autologin
{
"id": "user-uuid",
"url": "https://your-domain/autologin/uuid/"
}
-
URL allowsurlautomaticinstant login -
LinkValidisfor ashort-livedshort time onlyand should be used immediately
✅ Success — Without Autologin
{
"id": "user-uuid"
}
❌ Error Responses
400 — Invalid Request
{
"message": "Email, phone and first name are required",
"providerStatus": 400
}
401 — Unauthorized
{
"message": "Invalid secret key",
"providerStatus": 401
}
500 — Server Error
{
"message": "Internal server error",
"providerStatus": 500
}
📡 Example Requests
Basic Registration
curl -X POST "https://your-domain/tradersroom/api/auth/signup" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"email": "[email protected]",
"phone": "+1234567890",
"firstName": "Jane"
}'
RegistrationFull with Marketing DataExample
curl -X POST "https://your-domain/tradersroom/api/auth/signup" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"email": "[email protected]",
"phone": "+1234567890",
"firstName": "Jane",
"lastName": "Doe",
"affiliateID": "AFF-123",
"subID": "SUB-1",
"campaignId": "CMP-456",
"sourceId": "facebook_ads",
"project": "default",
"desk": "sales",
"sendEmail": true
}'
⚠️ Important Notes
-
Each request creates a new user
-
EnsureEmail should be uniqueemail per user -
Autologin
linkslinkareis temporary -
Store returned
idforinfutureyourreferencesystem -
API key must be kept secure
-
Some system fields are automatically managed and cannot be overridden
📊 Recommended Integration Flow (Recommended)
-
Collect user data
on your side -
Call Sign Up API
-
ReceiveHandle response:-
If
urlexists → redirect user -
If notOtherwise → show success message
-
-
Store user ID
in your system