Edit order
POST/editorder
This endpoint allows editing an existing order for a currently listed Futures contract.
When editing an order, if the trailingStopMaxDeviation
and trailingStopDeviationUnit
parameters are sent unchanged, the system will recalculate a new stop price upon successful
order modification.
Request
- application/json
Body
required
The time before which the request should be processed, otherwise it is rejected.
ID of the order you wish to edit. (Required if CliOrdId is not included)
The order identity that is specified from the user. It must be globally unique (Required if orderId is not included)
The size associated with the order
The limit price associated with the order. Must not exceed the tick size of the contract.
The stop price associated with a stop order. Required if old orderType is stp. Must not exceed tick size of the contract. Note that for stp orders, limitPrice is also required and denotes the worst price at which the stp order can get filled.
Only relevant for trailing stop orders. Maximum value of 50%, minimum value of 0.1% for 'PERCENT' 'maxDeviationUnit'.
Is the maximum distance the trailing stop's trigger price may trail behind the requested trigger signal. It defines the threshold at which the trigger price updates.
Possible values: [PERCENT
, QUOTE_CURRENCY
]
Only relevant for trailing stop orders.
This defines how the trailing trigger price is calculated from the requested trigger signal. For example, if the max deviation is set to 10, the unit is 'PERCENT', and the underlying order is a sell, then the trigger price will never be more then 10% below the trigger signal. Similarly, if the deviation is 100, the unit is 'QUOTE_CURRENCY', the underlying order is a sell, and the contract is quoted in USD, then the trigger price will never be more than $100 below the trigger signal.
Responses
- 200
- application/json
- Schema
- success
Schema
- Success Response
- ErrorResponse
- Array [
- PlaceEvent
- CancelEvent
- EditEvent
- RejectEvent
- ExecuteEvent
- PlaceTriggerEvent
- CancelTriggerEvent
- RejectTriggerEvent
- OrderJson
- OrderJson
POST_WOULD_EXECUTE
- The post-only order would be filled upon placement, thus is cancelled.IOC_WOULD_NOT_EXECUTE
- The immediate-or-cancel order would not execute.- OrderJson
- OrderTriggerJson
- OrderTriggerJson
- ]
edited
- The order was edited successfullyinvalidSize
- The order was not placed because size is invalidinvalidPrice
- The order was not placed because limitPrice and/or stopPrice are invalidinsufficientAvailableFunds
- The order was not placed because available funds are insufficientselfFill
- The order was not placed because it would be filled against an existing order belonging to the same accounttooManySmallOrders
- The order was not placed because the number of small open orders would exceed the permissible limitoutsidePriceCollar
- The limit order crosses the spread but is an order of magnitude away from the mark price - fat finger controlpostWouldExecute
- The post-only order would be filled upon placement, thus is cancelledwouldNotReducePosition
- The edit cannot be applied because the reduce only policy is violated. (Only for reduceOnly orders)orderForEditNotFound
- The requested order for edit has not been foundorderForEditNotAStop
- The supplied stopPrice cannot be applied because order is not a stop orderaccountInactive
: The Futures account the request refers to is inactiveapiLimitExceeded
: The API limit for the calling IP address has been exceededauthenticationError
: The request could not be authenticatedinsufficientFunds
: The amount requested for transfer is below the amount of funds availableinvalidAccount
: The Futures account the transfer request refers to is invalidinvalidAmount
: The amount the transfer request refers to is invalidinvalidArgument
: One or more arguments provided are invalidinvalidUnit
: The unit the transfer request refers to is invalidJson Parse Error
: The request failed to pass valid JSON as an argumentmarketUnavailable
: The market is currently unavailablenonceBelowThreshold
: The provided nonce is below the thresholdnonceDuplicate
: The provided nonce is a duplicate as it has been used in a previous requestnotFound
: The requested information could not be foundrequiredArgumentMissing
: One or more required arguments are missingServer Error
: There was an error processing the requestUnavailable
: The endpoint being called is unavailableunknownError
: An unknown error has occurred
editStatus object
A structure containing information on the send order request
The unique identifier of the order
The unique client order identifier.
This field is returned only if the order has a client order ID.
orderEvents object[]
Possible values: [PLACE
]
Always PLACE
.
order object
The placed order.
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
, block
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The total amount of the order that has been filled.
The limit price associated with a limit order.
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
The amount of quantity that was removed before placement or null if the order is not a reduce only.
Possible values: [CANCEL
]
Always CANCEL
.
The UID associated with the order.
order object
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
, block
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The total amount of the order that has been filled.
The limit price associated with a limit order.
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
Possible values: [EDIT
]
Always EDIT
.
old object
The order before the edit was applied.
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
, block
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The total amount of the order that has been filled.
The limit price associated with a limit order.
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
new object
The order after the edit was applied.
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
, block
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The total amount of the order that has been filled.
The limit price associated with a limit order.
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
The amount of quantity that was removed from the edited order or null if the order is not a reduce only.
Possible values: [REJECT
]
Always REJECT
.
The UID associated with the order.
order object
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
, block
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The total amount of the order that has been filled.
The limit price associated with a limit order.
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
Possible values: [POST_WOULD_EXECUTE
, IOC_WOULD_NOT_EXECUTE
]
The rejection reason:
Possible values: [EXECUTION
]
Always EXECUTION
.
The UID associated with the execution.
The price of the execution.
The executed amount.
orderPriorEdit object
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
, block
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The total amount of the order that has been filled.
The limit price associated with a limit order.
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
orderPriorExecution object
The order before it executes.
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
, block
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The total amount of the order that has been filled.
The limit price associated with a limit order.
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
The amount of quantity that was removed from the order before execution or null if the order is not a reduce only.
Possible values: [PLACE
]
Always PLACE
.
orderTrigger object
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The limit price associated with a limit order.
Possible values: [trigger_above
, trigger_below
]
Possible values: [mark_price
, last_price
, spot_price
]
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
Possible values: [CANCEL
]
Always CANCEL
.
orderTrigger object
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The limit price associated with a limit order.
Possible values: [trigger_above
, trigger_below
]
Possible values: [mark_price
, last_price
, spot_price
]
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
Possible values: [REJECT
]
Always REJECT
.
orderTrigger object
The UID associated with the order.
The client order id or null if order does not have one.
Possible values: [lmt
, ioc
, post
, liquidation
, assignment
, stp
, unwind
]
The order type
The symbol of the Futures.
Possible values: [buy
, sell
]
The side associated with the order
The quantity (size) associated with the order.
The limit price associated with a limit order.
Possible values: [trigger_above
, trigger_below
]
Possible values: [mark_price
, last_price
, spot_price
]
Is the order a reduce only order or not.
The date and time the order was placed.
The date and time the order was edited.
Possible values: [MARKET_SUSPENDED
, MARKET_NOT_FOUND
, INVALID_PRICE
, INVALID_QUANTITY
, SMALL_ORDER_LIMIT_EXCEEDED
, INSUFFICIENT_MARGIN
, WOULD_CAUSE_LIQUIDATION
, CLIENT_ORDER_ID_IN_USE
, CLIENT_ORDER_ID_TOO_LONG
, MAX_POSITION_EXCEEDED
, PRICE_COLLAR
, PRICE_DISLOCATION
, EDIT_HAS_NO_EFFECT
, ORDER_FOR_CANCELLATION_NOT_FOUND
, ORDER_FOR_EDIT_NOT_FOUND
, ORDER_CANNOT_HAVE_TRIGGER_PRICE
, POST_WOULD_EXECUTE
, IOC_WOULD_NOT_EXECUTE
, WOULD_EXECUTE_SELF
, WOULD_NOT_REDUCE_POSITION
, REJECTED_AFTER_EXECUTION
, MARKET_IS_POST_ONLY
, ORDER_LIMIT_EXCEEDED
, FIXED_LEVERAGE_TOO_HIGH
, CANNOT_EDIT_TRIGGER_PRICE_OF_TRAILING_STOP
, CANNOT_EDIT_LIMIT_PRICE_OF_TRAILING_STOP
, TRAILING_STOP_ORDER_LIMIT_EXCEEDED
, TRAILING_STOP_PERCENT_DEVIATION_EXCEEDS_MAX_DECIMAL_PLACES
, TRAILING_STOP_QUOTE_DEVIATION_NOT_MULTIPLE_OF_TICK_SIZE
, TRAILING_STOP_MAX_DEVIATION_TOO_LARGE
, TRAILING_STOP_MAX_DEVIATION_TOO_SMALL
, INSUFFICIENT_HEADROOM_AROUND_CURRENT_PRICE_TO_EDIT_TRAILING_STOP
, NO_REFERENCE_PRICE_AVAILABLE_FOR_CALCULATING_TRAILING_STOP_TRIGGER_PRICE
, INSUFFICIENT_CLOSING_MARGIN
, LIMIT_PRICE_SET_AS_ABSOLUTE_AND_RELATIVE
, LIMIT_PRICE_OFFSET_VALUE_INVALID
, LIMIT_PRICE_OFFSET_UNIT_INVALID
, LIMIT_PRICE_OFFSET_MUST_HAVE_VALUE_AND_UNIT
, LIMIT_PRICE_OFFSET_QUOTE_CURRENCY_VALUE_MUST_BE_MULTIPLE_OF_TICK_SIZE
, LIMIT_PRICE_OFFSET_PERCENT_VALUE_TOO_MANY_DECIMAL_PLACES
, LIMIT_PRICE_OFFSET_TOO_HIGH
, LIMIT_PRICE_OFFSET_TOO_LOW
]
The date and time the order was received
Possible values: [edited
, invalidSize
, invalidPrice
, insufficientAvailableFunds
, selfFill
, tooManySmallOrders
, outsidePriceCollar
, postWouldExecute
, wouldNotReducePosition
, orderForEditNotFound
, orderForEditNotAStop
]
The status of the order, either of:
Possible values: [success
]
Server time in Coordinated Universal Time (UTC)
Possible values: [accountInactive
, apiLimitExceeded
, authenticationError
, insufficientFunds
, invalidAccount
, invalidAmount
, invalidArgument
, invalidUnit
, Json Parse Error
, marketUnavailable
, nonceBelowThreshold
, nonceDuplicate
, notFound
, requiredArgumentMissing
, Server Error
, Unavailable
, unknownError
]
Possible values: [accountInactive
, apiLimitExceeded
, authenticationError
, insufficientFunds
, invalidAccount
, invalidAmount
, invalidArgument
, invalidUnit
, Json Parse Error
, marketUnavailable
, nonceBelowThreshold
, nonceDuplicate
, notFound
, requiredArgumentMissing
, Server Error
, Unavailable
, unknownError
]
Error description.
Possible values: [error
]
Server time in Coordinated Universal Time (UTC)
{
"result": "success",
"editStatus": {
"status": "edited",
"orderId": "022774bc-2c4a-4f26-9317-436c8d85746d",
"receivedTime": "2019-09-05T16:47:47.521Z",
"orderEvents": [
{
"type": "EDIT",
"old": {
"orderId": "022774bc-2c4a-4f26-9317-436c8d85746d",
"type": "lmt",
"symbol": "PI_XBTUSD",
"side": "buy",
"quantity": 1000,
"filled": 0,
"limitPrice": 9400,
"reduceOnly": false,
"timestamp": "2019-09-05T16:41:35.173Z",
"lastUpdateTimestamp": "2019-09-05T16:41:35.173Z"
},
"new": {
"orderId": "022774bc-2c4a-4f26-9317-436c8d85746d",
"type": "lmt",
"symbol": "PI_XBTUSD",
"side": "buy",
"quantity": 1501,
"filled": 0,
"limitPrice": 7200,
"reduceOnly": false,
"timestamp": "2019-09-05T16:41:35.173Z",
"lastUpdateTimestamp": "2019-09-05T16:47:47.519Z"
}
}
]
},
"serverTime": "2019-09-05T16:47:47.521Z"
}