OpenCustomerAccount¶
Endpoint¶
POST /customer/account/open
Description¶
Creates a trading account linked to the authenticated customer.
The request accepts only a group selected from GetCustomerAccountGroups. The server revalidates brand, public group visibility, account mode policy, and KYC requirements before creating the account.
Authorization¶
Requires SESSION_CUSTOMER token.
Request¶
{
"group": "demo-usd"
}
Response¶
{
"login": 100001,
"group": "demo-usd",
"brand": "default",
"account_mode": "DEMO",
"currency": "USD",
"leverage": 100,
"temporary_password": "7b4c9d1a2f3e",
"must_change_password": true
}
If the group has default_deposit > 0, the server creates the account and then applies the default balance operation.
temporary_password is returned only at account creation time.
Errors¶
| HTTP | Error | Description |
|---|---|---|
400 |
INVALID_DATA |
Invalid request body |
400 |
INVALID_GROUP |
Group does not exist |
401 |
INVALID_CUSTOMER_SESSION |
Customer id is missing in session |
403 |
BRAND_NOT_AVAILABLE |
Customer brand is disabled or missing |
403 |
GROUP_DISABLED |
Group is disabled |
403 |
GROUP_NOT_PUBLIC |
Group is not available for self-service opening |
403 |
GROUP_BRAND_MISMATCH |
Group belongs to another brand |
403 |
DEMO_OPENING_DISABLED |
Brand does not allow demo opening |
403 |
REAL_OPENING_DISABLED |
Brand does not allow real opening |
403 |
KYC_REQUIRED |
Real account opening requires approved KYC |
500 |
CORE_NOT_AVAILABLE |
Trading core is not available |
500 |
ADD_BALANCE_ERROR |
Account was created but default balance operation failed |