===== Cancel Reject ===== **Rejecting Attempts to Amend or Cancel Orders** The **Order Cancel Reject** message (`MsgType=9`) is used by the T4 FIX API to reject failed attempts to: * Cancel an order * Replace an order Cancel Rejects are generated when: * A client-side **Order Cancel Request**, **Order Cancel Replace Request**, or **List Cancel Request** fails * A cancel reject originates from non-T4-FIX-API applications (e.g., CTS front-end) – unsolicited Cancel Rejects Applies to: * Outright futures * Futures options * Spreads * Multi-leg strategies ---- === Identifying the Rejected Cancel or Cancel Replace === * **ClOrdID** (`Tag 11`) identifies the failed cancel or cancel replace request * If request originated outside T4 FIX API – `ClOrdID` equals the order’s `OrderID` (`Tag 37`) * For **List Cancel Request** – `ListID` (`Tag 66`) identifies the rejected list cancel ---- === Identifying the Target Order === * **OrigClOrdID** (`Tag 41`) identifies the order that could not be canceled or replaced * **OrderID** (`Tag 37`) also uniquely identifies the target order * If order was entered outside T4 FIX API – `OrigClOrdID` = `OrderID` * For **List Cancel Requests** – `ListID` (`Tag 66`) identifies the **New Order List** whose cancel was rejected ---- === Message Dictionary === ^ Tag ^ Field Name ^ Req'd ^ Comments ^ | **Standard Header** | Y | MsgType = 9 | | 1 | Account | N | Account code to which the cancel reject pertains | | 11 | ClOrdID | Y | Client-side ID of the cancel/cancel replace request that was rejected | | 41 | OrigClOrdID | Y | Client-side ID of the order that could not be canceled or replaced | | 66 | ListID | N | Client-side ID of the New Order List (only for batch orders) | | 37 | OrderId | N | CTS-assigned order ID | | 39 | OrdStatus | Y | 0=New, 1=Partially Filled, 2=Filled, 3=Done For Day, 4=Canceled, 5=Replaced, 6=Pending Cancel, 7=Stopped, 8=Rejected, 9=Suspended, A=Pending New, B=Calculated, C=Expired, E=Pending Replace, X=Undetermined | | 60 | TransactTime | N | Time (UTC) cancel/cancel replace was rejected | | 434 | CxlRejResponseTo | Y | 1=Order Cancel Request, 2=Order Cancel-Replace Request, 3=List Cancel Request | | 102 | CxlRejReason | N | 1=Unknown order, 2=Broker option | | 58 | Text | N | Free-form text | | 1028 | ManualOrderIndicator | N | Y=Manual order, N=Automated | | **Standard Trailer** | Y | | ==== Sample Messages ==== Cancel Rejection of a Cancel Replace Request with an invalid price [FIXCANCELREPLACE] 34=435|49=T4Example|56=T4|50=TraderName|52=20121212-21:35:28.083|1=Account1|11=fr-634909233280833034|41=fn-634909233209540909|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=143001|59=0|167=FUT|21=1|60=20121212-21:35:28.083|204=0| [FIXCANCELREPLACE] [MsgSeqNum] 34 = 435 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SenderSubID] 50 = TraderName [SendingTime] 52 = 20121212-21:35:28.083 [Account] 1 = Account1 [ClOrdID] 11 = fr-634909233280833034 [OrigClOrdID] 41 = fn-634909233209540909 [OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5 [SecurityID] 48 = CME_20121200_ESZ2 [Symbol] 55 = ES [SecurityExchange] 207 = CME_Eq [Side] 54 = 1 (BUY) [OrderQty] 38 = 1 [OrdType] 40 = 2 (LIMIT) [Price] 44 = 143001 [TimeInForce] 59 = 0 (DAY) [SecurityType] 167 = FUT (FUTURE) [HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION) [TransactTime] 60 = 20121212-21:35:28.083 [CustomerOrFirm] 204 = 0 (CUSTOMER) [fixcancelreject] 34=2566|49=T4|56=T4Example|50=T4FIX|52=20121212-21:35:28.098|1=Account1|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|11=fr-634909233280833034|41=fn-634909233209540909|39=0|434=2|102=2|58=CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'|60=20121212-21:35:49.172|1028=N| [FIXCANCELREJECT] [MsgSeqNum] 34 = 2566 [SenderCompID] 49 = T4 [TargetCompID] 56 = T4Example [SenderSubID] 50 = T4FIX [SendingTime] 52 = 20121212-21:35:28.098 [Account] 1 = Account1 [OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5 [ClOrdID] 11 = fr-634909233280833034 [OrigClOrdID] 41 = fn-634909233209540909 [OrdStatus] 39 = 0 (NEW) [CxlRejResponseTo] 434 = 2 (ORDER_CANCEL_REPLACE_REQUEST) [CxlRejReason] 102 = 2 (BROKER_OPTION) [Text] 58 = CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)' [TransactTime] 60 = 20121212-21:35:49.172 [ManualOrderIndicator] 1028 = N (NO) Cancel Rejection of a Cancel Request of a previously canceled order [FIXCANCEL] 34=439|49=T4Example|56=T4|50=TraderName|52=20121212-21:37:11.508|1=Account1|11=fc-634909234315082852|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|41=fn-634909233209540909|48=CME_20121200_ESZ2|54=1|55=ES|207=CME_Eq|60=20121212-21:37:11.508|167=FUT| [FIXCANCEL] [MsgSeqNum] 34 = 439 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SenderSubID] 50 = TraderName [SendingTime] 52 = 20121212-21:37:11.508 [Account] 1 = Account1 [ClOrdID] 11 = fc-634909234315082852 [OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5 [OrigClOrdID] 41 = fn-634909233209540909 [SecurityID] 48 = CME_20121200_ESZ2 [Side] 54 = 1 (BUY) [Symbol] 55 = ES [SecurityExchange] 207 = CME_Eq [TransactTime] 60 = 20121212-21:37:11.508 [SecurityType] 167 = FUT (FUTURE) [fixcancelreject] 34=2571|49=T4|56=T4Example|50=T4FIX|52=20121212-21:37:11.508|1=Account1|37=NONE|11=fc-634909234315082852|41=fn-634909233209540909|39=8|434=1|102=1|58=Undetermined Order|60=20121212-21:37:11.508|1028=N| [FIXCANCELREJECT] [MsgSeqNum] 34 = 2571 [SenderCompID] 49 = T4 [TargetCompID] 56 = T4Example [SenderSubID] 50 = T4FIX [SendingTime] 52 = 20121212-21:37:11.508 [Account] 1 = Account1 [OrderID] 37 = NONE [ClOrdID] 11 = fc-634909234315082852 [OrigClOrdID] 41 = fn-634909233209540909 [OrdStatus] 39 = 8 (REJECTED) [CxlRejResponseTo] 434 = 1 (ORDER_CANCEL_REQUEST) [CxlRejReason] 102 = 1 (UNKNOWN_ORDER) [Text] 58 = Undetermined Order [TransactTime] 60 = 20121212-21:37:11.508 [ManualOrderIndicator] 1028 = N (NO) [[developers:legacy_fix_api|T4 FIX API Home]]