Skip to content

AddBrand

An optional symbol_set_ids array assigns the initial symbol catalogue. If it is omitted or empty, the new brand starts with no available symbols.

{"command":"AddBrand","data":{"brand":"demo","dark_logo":"dark.svg","light_logo":"light.svg","favicon":"favicon.ico","terminal_host":"demo.example.com","affiliate_host":"affiliate.example.com","enable":1,"symbol_set_ids":[2,3]}}

Only SuperAdmin can create brands and assign global SymbolSets.

Description: Creates a brand configuration.

Access Control

SESSION_ADMIN with super_admin = 1. A brand admin cannot create brands.

HTTP Route

POST /brand

Request Parameters

Name Type Required Description
brand string Yes Brand name
dark_logo string Yes Dark logo path or URL
light_logo string Yes Light logo path or URL
favicon string Yes Favicon path or URL
terminal_host string Yes Terminal host
affiliate_host string Yes Affiliate Cabinet hostname without scheme, port, or path; the cabinet is served from its root
enable int Yes Enable flag, 0 or 1
can_open_demo int No Allows customer self-service DEMO account opening when set to 1
can_open_real int No Allows customer self-service REAL account opening when set to 1
kyc_required_for_real int No Requires approved customer KYC before REAL account opening when set to 1
default_language string No Default terminal language; defaults to en
settings object No Additional brand settings object

Request Example

{
  "brand": "IonMarkets",
  "dark_logo": "/images/ion-dark.svg",
  "light_logo": "/images/ion-light.svg",
  "favicon": "/images/favicon.ico",
  "terminal_host": "terminal.ionmarkets.com",
  "affiliate_host": "affiliate.ionmarkets.com",
  "enable": 1,
  "can_open_demo": 1,
  "can_open_real": 0,
  "kyc_required_for_real": 1,
  "default_language": "de",
  "settings": {
    "primary_color": "#111111"
  }
}

Default terminal language

default_language defines the language used when a visitor opens a terminal URL without a language prefix. It must contain one of the supported two-letter codes:

en, ru, de, es, fr, pt, zh, cn, tr, hu, ja, pl, ko, vi, jp, id, th, fa, ms, it, cs, ro, ar.

The server normalizes the value to lowercase. A missing or unsupported value falls back to en.

For a brand with default_language: "de", /sign/in redirects to /de/sign/in. A URL that already starts with a supported language, such as /en/sign/in, is served without a redirect. Query parameters are preserved.

Response Example

{
  "data": "OK"
}

Error Examples

{
  "error": "INVALID_DATA",
  "message": "enable must be between 0 and 1"
}
{
  "error": "BRAND_ADD_ERROR",
  "message": "..."
}