Skip to main content

New Order Single (35=D)

Used to submit a new order to the Exchange.

Order Cancel/Replace Request (35=G)

Used to modify an existing order without canceling it.

Supported Modifications

  • OrderQty: Increases or decreases the quantity of your order, note that increasing the quantity for the same point means forfeiting your queue position
  • Price: Changes the limit price of your order

Order Cancel Request (35=F)

Cancel all remaining quantity of an existing order.

Execution Report (35=8)

Sent by the exchange to reflect order state changes.

Order Status (39)

  • New<0>: Active order, no fills
  • Partially Filled<1>: Some quantity filled
  • Filled<2>: Completely filled
  • Canceled<4>: Canceled (may have partial fills)
  • Replaced<5>: Order modified via Cancel/Replace
  • Pending Cancel<6>: Cancel pending
  • Rejected<8>: Order rejected
  • Pending New<A>: Order pending acceptance
  • Expired<C>: Time in force expired
  • Pending Replace<E>: Modification pending
By default, expiry-style system cancellations are reported as Canceled<4>.
If Logon tag 21012 (UseExpiredOrdStatus)=Y, expiry-style system cancellations (CloseCancel and OrderExpiryCancel) are reported as Expired<C>.

Order Rejection Reasons (103)

  • Unknown symbol<1>
  • Exchange closed<2>
  • Order exceeds limit<3>
  • Too late to enter<4>
  • Duplicate order<6>
  • Stale order<8>
  • Unsupported order characteristic<11>
  • Incorrect quantity<13>
  • Unknown account<15>
  • Other<99>

Execution Types (150)

  • New<0>: Order accepted
  • Trade<F>: Order filled (partial or complete)
  • Canceled<4>: Order canceled
  • Replaced<5>: Order modified
  • Rejected<8>: Order rejected
  • Expired<C>: Order expired
  • Pending New<A>: Order pending acceptance
  • Pending Cancel<6>: Cancel pending
  • Pending Replace<E>: Modification pending

Text Field Values (58)

Common values for the Text field in Execution Reports:
  • EXCHANGE_UNAVAILABLE - the gateway could not confirm whether the order was applied (exchange unreachable, request timed out, or interrupted after the order may have been accepted). Reconcile the order’s state, or retry with the same ClOrdID. Maps to OrdRejReason “Other”
  • INTERNAL_ERROR - a reject from a healthy exchange that could not be mapped to a specific reason. The order was not applied, so it is safe to fix and resubmit. Maps to OrdRejReason “Other”
  • MARKET_ALREADY_CLOSED - maps to OrdRejReason “Exchange closed”
  • MARKET_INACTIVE - maps to OrdRejReason “Exchange closed”
  • MARKET_NOT_FOUND - maps to OrdRejReason “Unknown symbol”
  • SELF_CROSS_ATTEMPT - maps to ExecutionType “Canceled”
  • SELF_CROSS_ATTEMPT_PARTIALLY_FILLED - maps to ExecutionType “Canceled”
  • ORDER_ALREADY_EXISTS - maps to OrdRejReason “Duplicate order”
  • EXCEEDED_ORDER_GROUP_RISK_LIMIT - maps to OrdRejReason “Order exceeds limit”
  • INSUFFICIENT_BALANCE - maps to OrdRejReason “Order exceeds limit”
  • EXCHANGE_PAUSED - maps to OrdRejReason “Exchange closed”
  • TRADING_PAUSED - maps to OrdRejReason “Exchange closed”
  • INVALID_ORDER - maps to OrdRejReason “Unsupported order characteristic”
  • ORDER_GROUP_NOT_FOUND - maps to OrdRejReason “Unsupported order characteristic”
  • EXCEEDED_PER_MARKET_RISK_LIMIT - maps to OrdRejReason “Order exceeds limit”
  • EXCEEDED_SELL_POSITION_FLOOR - maps to OrdRejReason “Order exceeds limit”
  • CUSTOMER_ACCOUNT_NOT_FOUND - maps to OrdRejReason “Unknown account”
  • PERMISSION_DENIED_FOR_CUSTOMER_ACCOUNT - maps to OrdRejReason “Unknown account”
  • FOK_INSUFFICIENT_VOLUME - maps to ExecutionType “Canceled”
  • POST_ONLY_CROSS - maps to ExecutionType “Canceled”
  • ORDER_GROUP_CANCEL - maps to ExecutionType “Canceled”
  • TAKER_CANCEL_FOR_SELF_TRADE_PREVENTION - maps to ExecutionType “Canceled”
  • MAKER_CANCEL_FOR_SELF_TRADE_PREVENTION - maps to ExecutionType “Canceled”
  • IMMEDIATE_OR_CANCELLED - maps to ExecutionType “Canceled”
  • EXPIRED - maps to OrdRejReason “Stale order” (RFQ quote had expired when the order arrived)

OrderCancelReject (35=9)

Exchange-side amend and cancel failures are returned as OrderCancelReject (35=9), not ExecutionReport.

Position and Fee Information

When ExecType=Trade:

Collateral Changes

Collateral Return Breakdown

When Logon tag 21027 (SplitCollateralReturn) is set to Y, Execution Reports with ExecType=Trade include: Both values are informational subsets of the BALANCE collateral change — they describe components within the total balance delta, not additional amounts.

Party Information

Party fields from the original order request are echoed back in ExecutionReports:

Rejection Reasons (102)

  • Too late to cancel<0>: Order already filled
  • Unknown order<1>: Order not found
  • Other<99>: See Text field

Mass Cancel Request (35=q)

Cancel all orders for the trading session. Only available on KalshiNR (NewOrderMode) sessions.

Mass Cancel Report (35=r)

Response to mass cancel request.
Individual ExecutionReports will follow for each canceled order.