===== 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]]