Change the size, price, or trigger of a live order without a separate cancel-and-replace round trip. The method works across spot, margin, and futures markets — no collateral_ variant exists.
Rate limits
Modify order
Request parameters
The market parameter routes the call, so it stays required even when the order id alone would identify the order.
Supply exactly one identifier — order_id or client_order_id — and at least one of price, amount, total, or activation_price. Omitted fields keep the previous values. Sending no change returns error 1, and so does sending amount and total together, since the two express the same quantity in different units.
Response
The order id changes. Internally the engine cancels and re-places the order, so the result carries a new id and a fresh ctime, and the order loses its queue priority. Any client tracking orders by engine id must adopt the new one from this response.
The client_order_id value carries over to the replacement, which makes it the stabler handle for anything modified repeatedly. Modifying by client order id therefore needs no bookkeeping between calls:
Moving a trigger works the same way — send activation_price on a conditional order, with or without a new amount:
Modify a TP/SL leg
A leg created by collateral_order_tpsl_place can be modified with this method. Send the leg’s order_id or client_order_id together with a new activation_price to move its trigger. The take-profit and stop-loss legs are independent orders, so each one is modified with its own request.
Error codes
Standard transport errors and the shared account, rate-limit, and region codes are listed in Order Management.