Set TP/SL at the position level for one (account, contract) pair.
Use this instead of attach-bracket whenever the bracket should cover
the entire open position (e.g., the user dragged the TP line on the
chart). For multi-fill positions this attaches one bracket per parent
entry order so the total bracket quantity equals the position quantity.
Body
Set TP/SL at the position level for a given (account, contract).
The trade engine models brackets per-parent-order, but a trader thinks in terms of the open position. This endpoint covers the full position regardless of how many parent fills built it up.
take_profit: Some(price)replaces any existing TP children for this position with fresh ones atprice.take_profit: Noneclears all existing TP children for this position.- Same for
stop_loss. - Both
Noneclears all bracket children for this position.
UUID of the trading account
"550e8400-e29b-41d4-a716-446655440000"
Full contract symbol (e.g., "MNQM6", "ESH6")
"MNQM6"
New stop-loss price for the entire position. Omit or send null to
clear any existing SL children.
30050
New take-profit price for the entire position. Omit or send null
to clear any existing TP children.
30150
Response
Position bracket set
Bracket child orders that were cancelled because they were replaced or cleared.
Newly-created stop-loss child orders (one per parent entry). All share the requested SL price; total quantity == position quantity.
Newly-created take-profit child orders (one per parent entry). All share the requested TP price; total quantity == position quantity.
Related topics
ChangelogAttach TP/SL bracket to an existing orderDetach TP/SL bracket leg from an orderCreate or update account lockoutGet completed round-trip trades (server-derived)