Rule sets
Define and version the criteria an account is judged against, and read the rule catalogue your tier unlocks.
A rule set is the criteria an account is judged by: daily drawdown, maximum drawdown, profit target, minimum trading days, plus whatever else you build from the rule catalogue. It is versioned, and versions are immutable.
Versions are append-only
This is the single most important thing on this page
Editing a rule set appends a new version. It never changes an existing one, and there is no endpoint that can. A trading account freezes the version current at its creation and is judged by that version for the rest of its life.
So tightening your rules today cannot retroactively breach an account somebody bought last month. That is deliberate and not configurable — it is what makes a challenge you sold defensible.
List rule sets
/v1/rule-setsPlannedscope · accounts:readCreate a rule set
/v1/rule-setsPlannedscope · accounts:writeList versions
/v1/rule-sets/{id}/versionsPlannedscope · accounts:readNewest first. Exactly one has is_current: true — that is the one a new account will freeze.
Append a version
/v1/rule-sets/{id}/versionsPlannedscope · accounts:writecurl -X POST https://api.propexecutor.com/v1/rule-sets/7c4a…/versions \
-H "Authorization: Bearer $PFX_KEY" \
-H "Content-Type: application/json" \
-d '{
"daily_drawdown_pct": 5,
"max_drawdown_pct": 10,
"profit_target_pct": 8,
"min_trading_days": 3,
"allowed_instruments": ["EURUSD", "GBPUSD", "XAUUSD"],
"rules": [
{ "key": "max_open_positions", "params": { "count": 3 }, "action": "reject_order" },
{ "key": "max_lots", "params": { "lots": 5 }, "action": "reject_order" }
]
}'daily_drawdown_pctnumber | nullmax_drawdown_pctnumber | nullprofit_target_pctnumber | nullmin_trading_daysintegerallowed_instrumentsstring[]rulesobject[]key, params and an action of breach, reject_order or flag.What an action does
| action | Effect |
|---|---|
breach | Ends the challenge the moment the rule fires. |
reject_order | Refuses the order that would have violated it. Checked inside the transaction that writes the order, so it holds under concurrent orders. |
flag | Records it for your review and lets trading continue. Read them from rule flags. |
The rule catalogue
/v1/rule-catalogPlannedscope · accounts:readEvery rule you can build with, its parameters, and whether your plan tier unlocks it. Read this rather than hard-coding a list — it is the same source the rule builder in the panel renders from, and the server validates against it.
Time-based rules are not available
Rules that would need a clock rather than an event — a news blackout window, an inactivity timeout — are listed in the catalogue as unavailable and the API refuses them. Rules are evaluated on price ticks, fills and orders, and adding a scheduler to make a rule fire on a timer would put the breach decision behind a delay. That is the one thing the rule engine will not do.