CSV Migration Template

Complete documentation for importing user data via CSV files

View Example
CSV Header Format

Your CSV file must include the following header row with these exact column names:

username,email,first_name,last_name,role,phone,date_of_birth,profile_picture,kyc_status,referred_by_email,challenge_name,phase_status,account_size,currency,broker_type,mt5_account_id,mt5_password,mt5_investor_password

Note: The order of columns must match the header order exactly.

Field Descriptions

Field Type Required Description Allowed Values / Default
username String Yes Unique username for the client.
email String (email) Yes Unique email for login.
first_name String No Optional first name.
last_name String No Optional last name.
role String No User role. client (default), support, affiliate, risk, admin
phone String No Optional phone number.
date_of_birth Date (YYYY-MM-DD) No Optional date of birth.
profile_picture String (URL) No Optional profile picture URL.
kyc_status String No KYC verification status. pending (default), approved, rejected
referred_by_email String (email) No Optional affiliate email who referred the client. Must match an existing affiliate email
challenge_name String Yes Name of the challenge to enroll the client in. Must match one of the existing Challenges in the system:
- HFT (1-Step Challenge) Accounts
- 2-Step Challenge Accounts
phase_status String No Current status of challenge enrollment. phase_1_in_progress (default), phase_1_passed, phase_2_in_progress, phase_2_passed, live_in_progress, completed, failed
account_size Decimal No Optional account size for challenge. 10000.00 (default)
currency String No Optional currency code. USD (default)
broker_type String No Optional broker type. mt5, mt4, or leave blank
mt5_account_id String No Optional MT5 login ID.
mt5_password String No Optional MT5 master password.
mt5_investor_password String No Optional MT5 read-only password.

Default Values

System Defaults
  • role client
  • kyc_status pending
  • phase_status phase_1_in_progress
  • account_size 10000.00
  • currency USD
Important Notes
Required Fields: username, email, and challenge_name must be provided for each record.
For optional fields, leave them empty to use system defaults.

Example CSV Row

Example Data

Below is an example of a valid CSV row with all fields populated:

username,email,first_name,last_name,role,phone,date_of_birth,profile_picture,kyc_status,referred_by_email,challenge_name,phase_status,account_size,currency,broker_type,mt5_account_id,mt5_password,mt5_investor_password
jane_doe,jane@example.com,Jane,Doe,client,9876543210,1992-05-15,,pending,,Demo Challenge,phase_1_in_progress,50000,USD,mt5,98823802,masterpass,investorpass
In this example, the system will use default values for role (client), kyc_status (pending), and phase_status (phase_1_in_progress), while account_size is set to a custom value of 50000.