Groups & risk
A group is the unit of configuration. Every account belongs to one group and inherits that group's leverage, spread, commission, and prop-firm risk rules. Groups form a tree — children inherit a parent's settings until you override them.
Manage groups
GET /api/v1/groups # list (tree)
POST /api/v1/groups # create
PUT /api/v1/groups/{group_id} # rename / re-parent
DELETE /api/v1/groups/{group_id}
PATCH /api/v1/groups/{group_id}/copy/{copy_group_id} # duplicate config
Create a sub-group:
curl --request POST \
--url https://api.onlytradeplatform.com/api/v1/groups \
--header "Authorization: Bearer $ADMIN_TOKEN" \
--header "Content-Type: application/json" \
--data '{ "desc": "FTMO-Style Challenge", "parent_id": 26100001 }'
| Field | Notes |
|---|---|
desc | display name (required). |
parent_id | parent group; 0 for a root group (admin only). |
manager_id | the dealer who owns the group; defaults to the caller. |
Copy group clones an existing group's full configuration into another — the fastest way to spin up a new challenge tier or broker book from a template.
Configure a group
A group's settings are individual config rows you read and patch:
GET /api/v1/configs/groups/{group_id} # all config for a group
PATCH /api/v1/configs/{config_id} # change one value
curl --request PATCH \
--url https://api.onlytradeplatform.com/api/v1/configs/26100170 \
--header "Authorization: Bearer $ADMIN_TOKEN" \
--header "Content-Type: application/json" \
--data '{ "value": "100" }'
Each config carries an inherited flag: true means it still follows the
parent; setting a value overrides it for this group (and cascades to inheriting
children). A handful of the common keys:
| Key | Meaning |
|---|---|
group_leverage | default leverage for the group |
group_margin_call / group_margin_stop_out | margin thresholds (%) |
group_enable_swap | charge swaps |
group_deposit_currency | account currency |
group_multi_sessions | allow concurrent logins |
Prop-firm risk
For prop challenges, enable the risk engine on the group and set the limits as a percentage of the funded balance:
| Key | Meaning |
|---|---|
group_enable_prop | 1 turns the prop rules on for the group |
group_max_day_lose | max daily loss (%) |
group_total_days_lose | max total drawdown (%) |
group_max_day_profit | daily profit target (%) |
# Enable prop and set a 5% daily loss / 10% max drawdown rule
curl -X PATCH .../configs/{enable_prop_id} -d '{"value":"1"}' ...
curl -X PATCH .../configs/{max_day_lose_id} -d '{"value":"5"}' ...
curl -X PATCH .../configs/{total_days_lose_id} -d '{"value":"10"}' ...
Changes propagate live to every account in the group (and inheriting
sub-groups) — a connected terminal flips prop on/off and updates its limits
without a re-login. Each account then exposes its live usage on
GET /api/v1/accounts/me under prop (the
configured limits) and prop_status (current daily-loss / drawdown / profit
usage).
Commissions
Per-group commission schedules (with tiers) live under:
GET /api/v1/commissions/groups/{group_id}
POST /api/v1/commissions/groups/{group_id}
PUT /api/v1/commissions/{commission_id}
DELETE /api/v1/commissions/{commission_id}
POST /api/v1/commissions/{commission_id}/tiers
See the API Reference for the full payloads.