Flask Application API Documentation (Corrected Mandatory Params)
Auth & Login Routes
POST /login
Checks user credentials (master or investor) and returns a success/failure response.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
user_id | integer | User’s numeric ID | Yes |
pwd | string | User’s password | Yes |
user_ip | string | User’s IP address | Yes |
device_name | string | Device name, e.g. “iPhone 12” | Yes |
device_id | string | Unique device ID | Yes |
fcm_token | string | FCM token for push notifications | Optional |
white_label_broker_name | string | Optional broker label check | Optional |
POST /userAuth
Quickly verifies if a user with user_id
and pwd
exists. Returns a simple JSON success/failure.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
user_id | integer | User’s numeric ID | Yes |
pwd | string | User’s password | Yes |
User Management Routes
POST /createUser
Creates a new user account in USER_TABLE
.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
name | string | Full name of user | Yes |
state | string | State of user’s location | Yes |
city | string | City location | Yes |
company | string | Company name | Yes |
string | Email address | Yes | |
phone | string | Contact phone | Yes |
country | string | Country name | Yes |
zip_code | string | Zip/Postal code | Yes |
address | string | Full address | Yes |
kyc_status | string | KYC verification status | Yes |
manager_id | integer | Manager ID (optional, default=0) | Optional |
admin_id | integer | Admin ID if no manager | Yes (if manager_id=0) |
POST /getAccounts
Retrieves multiple user accounts (filtered by date, group, user_id, etc.).
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
supervisor_id | integer | Manager/Admin ID making request | Yes |
supervisor_pwd | string | Password for that supervisor | Yes |
supervisor_type | string | “MANAGER” or “ADMIN” | Yes |
from_dt | string | Filter register_date >= from_dt | Optional |
to_dt | string | Filter register_date <= to_dt | Optional |
user_id | integer | Specific user ID to fetch | Optional |
group_id | integer or array | Filter by group(s) | Optional |
Manager & Admin Routes
POST /createManager
Creates a manager (and also an ACCOUNTS
entry with type=MANAGER).
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
supervisor_id | integer | Admin creating this manager | Yes |
supervisor_pwd | string | Admin’s password | Yes |
supervisor_type | string | Must be “ADMIN” | Yes |
pwd | string | Manager’s login password. (auto-generated if missing) | Optional |
api_pwd | string | API password for manager. (optional) | Optional |
investor_pwd | string | Investor password for manager | Optional |
group_id | list of integers | One or more group IDs manager handles | Yes |
first_name | string | Manager’s first name | Yes |
string | Manager’s email | Yes |
POST /adminLogin
Admin login for the web console, returns admin’s basic stats (positions, online_cnt, etc.).
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
admin_id | integer | Admin ID | Yes |
pwd | string | Admin’s password | Yes |
Groups & Commissions
POST /createGroup
Creates a new group. This route has many parameters controlling margin, risk, etc. We only list the mandatory ones if no try/except
usage is found for them.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
gname | string | Name of the group | Yes |
company | string | Company name/brand | Yes |
groupSuffix | string | Group suffix string | Yes |
company_site | string | Company URL | Yes |
company_email | string | Company email | Yes |
POST /createCommission
Creates/updates a commission rule for a group. The code shows no try/except
around these parameters except for the method type. Thus these are mandatory if the route is POST.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
supervisor_id | integer | Manager/Admin ID | Yes |
supervisor_pwd | string | Supervisor password | Yes |
supervisor_type | string | “MANAGER” or “ADMIN” | Yes |
commission_type | string | AGENT, STANDARD, etc. | Yes |
gid | integer | Group ID for commission | Yes |
symbols | string | Pair or “*” | Yes |
range | string | Range category e.g. “volume” | Yes |
charge | string | INSTANT or something else | Yes |
name | string | Commission rule name | Yes |
Trading & Positions
POST /openTrade
Opens a new trade (market order). The code shows the following are used with no try/except
, so they are mandatory.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
user_id | integer | ID of the user placing the trade | Yes |
pwd | string | User’s password | Yes |
pair | string | Symbol/pair, e.g. “EURUSD” | Yes |
volume | float | Lot size to open | Yes |
side | string | “BUY” or “SELL” | Yes |
reason | string | Reason for opening, e.g. “Manual entry” | Yes |
comment | string | Any textual comment | Yes |
tp | float | Take profit level | Optional |
sl | float | Stop loss level | Optional |
tsl | float | Trailing SL points | Optional |
break_even | float | Break-even points | Optional |
device_name | string | Trader’s device name | Optional |
device_id | string | Trader’s device ID | Optional |
hour_diff | integer | Offset hours from server time | Optional |
POST /closeTrade
Closes an existing open position partially or fully.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
user_id | integer | ID of user owning the position | Yes |
pwd | string | User’s password | Yes |
position_id | integer | The ID of the open position | Yes |
pair | string | Symbol e.g. “EURUSD” | Yes |
side | string | Opposite side to close with (the code sets it automatically to “SELL” if buy, etc.) | Yes |
volume | float | Volume to close | Yes |
reason | string | Reason for close, e.g. “Manual close” | Yes |
comment | string | Close comment | Yes |
device_name | string | Trader’s device name (optional code block) | Optional |
device_id | string | Trader’s device ID (optional) | Optional |
Deposits & Withdrawals
POST /deposit
Increments user account or bonus/credit if fund_type
is set.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
uid | integer | User ID to deposit into | Yes |
fund_amount | float | Amount to deposit | Yes |
supervisor_id | integer | Admin/Manager ID making deposit | Yes |
supervisor_pwd | string | Supervisor password | Yes |
supervisor_type | string | “MANAGER” or “ADMIN” | Yes |
fund_type | string | “BALANCE”, “BONUS”, “CREDIT” | Optional (default “BALANCE”) |
comment | string | Any deposit note | Optional |
dt | string | Date/time override | Optional |
POST /withdraw
Subtracts from user’s account or bonus/credit.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
uid | integer | User ID to withdraw from | Yes |
fund_amount | float | Withdrawal amount | Yes |
supervisor_id | integer | Admin/Manager ID | Yes |
supervisor_pwd | string | Supervisor password | Yes |
supervisor_type | string | “MANAGER” or “ADMIN” | Yes |
fund_type | string | “BALANCE”, “BONUS”, or “CREDIT” | Optional (default “BALANCE”) |
comment | string | Withdrawal note | Optional |
dt | string | Date/time override | Optional |
Copy Trading Routes
POST /createMasterTrader
Registers the user as a “Master Trader.” The code shows these fields with no fallback, so they’re mandatory.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
user_id | integer | Trader’s user ID | Yes |
pwd | string | Trader’s password | Yes |
strategy_name | string | Name of strategy | Yes |
strategy_desc | string | Strategy description | Yes |
percent_share | float | Profit share percentage 0-100 | Yes |
min_bal_required | float | Minimum balance to copy | Yes |
trading_pairs | string (comma list) | Pairs the master trades | Yes |
leverage | integer | Leverage used by master | Yes |
copy_trader_name | string | Display name for copy feed | Yes |
POST /copyMasterTrader
Subscribes a user to copy trades from a master trader.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
user_id | integer | ID of copying user | Yes |
pwd | string | Copying user’s password | Yes |
master_id | integer | Master trader’s user ID | Yes |
Logs & Notifications
POST /getLogs
Retrieves logs with optional date or message filtering (admin-level only).
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
supervisor_id | integer | Admin ID | Yes |
supervisor_pwd | string | Admin’s password | Yes |
supervisor_type | string | Should be “ADMIN” for logs | Yes |
from_dt | string | Log date filter start | Optional |
to_dt | string | Log date filter end | Optional |
message | string | Substring match in logs | Optional |
POST /updateToken
Inserts or deletes a user’s FCM token for push notifications. If token_type
= “DELETE”, no fcm_token
needed.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
token_type | string | “DELETE” or otherwise to add | Yes |
device_id | string | Unique device ID | Yes |
user_id | integer | User ID for the token | Yes |
fcm_token | string | Token if adding | Yes if token_type != "DELETE" |
Others / Misc
POST /sampleAPI
Basic sample endpoint for demonstration or testing parameters. Per code, param1
and param2
are mandatory.
FIELD | TYPE | DESCRIPTION | REQUIRED |
---|---|---|---|
param1 | string | Example parameter 1 | Yes |
param2 | string | Example parameter 2 | Yes |