Cancel Order

Cancels the specified order

To cancel an order, construct a payload using the "oc" (order cancel) abbreviation. The order details need to include either the Internal Order ID or the Client Order ID and Client Order ID Date (YYYY-MM-DD format). Please look to the sidebar for examples.

When you cancel an order, you will receive a message of the appropriated type on the "account info" channel. Example responses are included in the sidebar. Please look to the Orders and Notifications pages for further information.

Order inputs require you to run the authentication code along with additional code for the input. The authentication code can be found on our Authenticated Channels and the additional code for inputs can be found on the Websocket Inputs page.

// Cancel order by internal order Id
[
  0,
  "oc",
  null,
  {
    "id": ID
  }
]

// Cancel order using client order Id and order creation date
[
  0,
  "oc",
  null,
  {
    "cid": CID,
    "cid_date": CID_DATE
  }
]
// When the cancellation request is submitted you will receive an 'n' (notification) event as confirmation. If the cancellation is successful, you will also receive  an 'oc' (order cancelled) event. Both events are sent through CHANNEL_ID = 0.

[
CHANNEL_ID
EVENT
 [
 MTS, //omitted for 'oc' event
 TYPE, //omitted for 'oc' event
 MESSAGE_ID, //omitted for 'oc' event
 null, //omitted for 'oc' event
  [
  ID,
  GID,
  CID,
  SYMBOL,
  MTS_CREATE, 
  MTS_UPDATE, 
  AMOUNT, 
  AMOUNT_ORIG, 
  TYPE,
  TYPE_PREV,
  MTS_TIF,
  _PLACEHOLDER,
  FLAGS,
  ORDER_STATUS,
  _PLACEHOLDER,
  _PLACEHOLDER,
  PRICE,
  PRICE_AVG,
  PRICE_TRAILING,
  PRICE_AUX_LIMIT,
  _PLACEHOLDER,
  _PLACEHOLDER,
  _PLACEHOLDER,
  HIDDEN, 
  PLACED_ID,
  _PLACEHOLDER,
  _PLACEHOLDER,
  _PLACEHOLDER,
  ROUTING,
  _PLACEHOLDER,
  _PLACEHOLDER,
  META
  ]
 CODE, //omitted for 'oc' event
 STATUS, //omitted for 'oc' event
 TEXT //omitted for 'oc' event
 ]
]

[0,"n",[1575291219660,"oc-req",null,null,[1185815100,null,1575289350475,"tETHUSD",1575289351944,1575289447644,-3,-3,"LIMIT","LIMIT",null,null,0,"ACTIVE",null,null,240,0,0,0,null,null,null,0,0,null,null,null,"API>BFX",null,null,null],null,"SUCCESS","Submitted for cancellation; waiting for confirmation (ID: 1185815100)."]]

[0,"oc",[1185815100,null,1575289350475,"tETHUSD",1575289351944,1575291219663,-3,-3,"LIMIT","LIMIT",null,null,0,"CANCELED",null,null,240,0,0,0,null,null,null,0,0,null,null,null,"API>BFX",null,null,null]]

Request Fields

NameTypeDescription
idint64Internal Order ID
cidint45Client Order ID
cid_datestringClient Order ID Date

Response Fields

TermTypeDescription
CHANNEL_IDintID of the channel. (0 for account info messages)
EVENTstringType of event ('n' for notification)
MTSintMillisecond Time Stamp of the update
TYPEstringPurpose of notification ('on-req', 'oc-req', 'uca', 'fon-req', 'foc-req')
MESSAGE_IDintunique ID of the message
IDintOrder ID
GIDintGroup ID
CIDintClient Order ID
SYMBOLstringPair (tBTCUSD, …)
MTS_CREATEintMillisecond timestamp of creation
MTS_UPDATEintMillisecond timestamp of update
AMOUNTfloatPositive means buy, negative means sell.
AMOUNT_ORIGfloatOriginal amount
TYPEstringThe type of the order: LIMIT, EXCHANGE LIMIT, MARKET, EXCHANGE MARKET, STOP, EXCHANGE STOP, STOP LIMIT, EXCHANGE STOP LIMIT, TRAILING STOP, EXCHANGE TRAILING STOP, FOK, EXCHANGE FOK, IOC, EXCHANGE IOC.
TYPE_PREVstringPrevious order type
MTS_TIFintMillisecond timestamp of Time-In-Force: automatic order cancellation
ORDER_STATUSstringOrder Status: ACTIVE, EXECUTED @ PRICE(AMOUNT) e.g. "EXECUTED @ 107.6(-0.2)", PARTIALLY FILLED @ PRICE(AMOUNT), INSUFFICIENT MARGIN was: PARTIALLY FILLED @ PRICE(AMOUNT), CANCELED, CANCELED was: PARTIALLY FILLED @ PRICE(AMOUNT), RSN_DUST (amount is less than 0.00000001), RSN_PAUSE (trading is paused due to rebase events on AMPL or funding settlement on derivatives)
PRICEfloatPrice
PRICE_AVGfloatAverage price
PRICE_TRAILINGfloatThe trailing price
PRICE_AUX_LIMITfloatAuxiliary Limit price (for STOP LIMIT)
HIDDENint0 if false, 1 if true
PLACED_IDintIf another order caused this order to be placed (OCO) this will be that other order's ID
ROUTINGstringindicates origin of action: BFX, ETHFX, API>BFX, API>ETHFX
FLAGSintSee https://docs.bitfinex.com/v2/docs/flag-values.
METAjson stringAdditional meta information about the order ( $F7 = IS_POST_ONLY (0 if false, 1 if true), $F33 = Leverage (int))
CODEnull or integerWork in progress
STATUSstringStatus of the notification; it may vary over time (SUCCESS, ERROR, FAILURE, ...)
TEXTstringText of the notification