360X
API ReferenceRESTWebsocketsFIX
SupportStatusWebsite
API ReferenceRESTWebsocketsFIX
SupportStatusWebsite
  1. FIX
  • Introduction
  • Getting Started
  • Connectivity Setup
  • Authentication
  • Session Management
  • Instrument Discovery
  • Market Data
  • Order Management
  • Request for Quote (RFQ)
  • Message Reference
  • Error Handling
  • Code Examples
  • Troubleshooting
  • Support & Ressources
  • Appendix
  • Exchange FIX Dictionary Downloads
  1. FIX

Order Management

Order Lifecycle#

NewOrderSingle (35=D)#

Purpose:
The NewOrderSingle message creates a new order in the market. It's the primary way clients express their trading intent, whether buying or selling a specific quantity of an instrument at a defined price and time validity.
When to Use:
To place a new buy or sell order
After analyzing market data and deciding on a trade
To express firm trading interest at specific price levels
As part of manual or algorithmic trading strategies
Business Context:
Order placement is the core function of any trading platform. NewOrderSingle supports various order types (Market, Limit, Stop) and time-in-force instructions (Day, GTC, GTD, IOC, FOK). The platform validates all orders before submission, ensuring compliance with trading rules and instrument constraints. Each order receives a unique ClOrdID from the client and an OrderID from the server for lifecycle tracking.

Message Flow#

NewOrderSingle Tags#

TagNameRequiredDescription
11ClOrdIDYClient order ID (unique)
1AccountYAccount ID
48SecurityIDYISIN code
22SecurityIDSourceY4 = ISIN
54SideY1=BUY, 2=SELL
38OrderQtyYOrder quantity
40OrdTypeY1=MARKET, 2=LIMIT
44PriceNLimit price (required for LIMIT)
59TimeInForceN0=DAY, 1=GTC, 6=GTD
126ExpireTimeNRequired if TIF=6 (GTD)

Example Order#

8=FIXT.1.1|9=XXX|35=D|
11=ORDER-123456|1=ACC-001|
48=DE000BASF111|22=4|
54=1|38=1000000|40=2|44=1.0850|
59=1|
10=XXX|

ExecutionReport (35=8)#

Purpose:
The ExecutionReport message is the universal response for all order-related activities. It confirms order acceptance, reports fills, acknowledges cancellations and modifications, and provides status updates. Every order action results in an ExecutionReport.
When to Use:
Execution reports are sent by the server, not requested directly. Clients receive ExecutionReports in response to:
NewOrderSingle submissions (ExecType=NEW)
OrderCancelRequest submissions (ExecType=CANCELED)
OrderCancelReplaceRequest submissions (ExecType=REPLACED)
OrderStatusRequest queries (ExecType=ORDER_STATUS)
Order fills from market matching (ExecType=FILL)
Order rejections (ExecType=REJECTED)
Business Context:
ExecutionReports are the single source of truth for order state. They provide confirmation of every order lifecycle event, enabling clients to maintain accurate order books, track fills, reconcile positions, and audit trading activity. The ExecType and OrdStatus fields together describe the complete state of each order.

ExecutionReport Tags#

TagNameRequiredDescription
37OrderIDYServer-generated order ID (UUID)
11ClOrdIDYClient order ID (from request)
41OrigClOrdIDNOriginal ClOrdID (for cancel/replace)
17ExecIDYExecution ID (UUID)
150ExecTypeYExecution type (see below)
39OrdStatusYOrder status (see below)
54SideY1=BUY, 2=SELL
38OrderQtyYOrder quantity
48SecurityIDYISIN code
22SecurityIDSourceY4 = ISIN
44PriceYOrder price
40OrdTypeN1=MARKET, 2=LIMIT
59TimeInForceN0=DAY, 1=GTC, 6=GTD
126ExpireTimeNExpiration timestamp
58TextNRejection reason (if applicable)

ExecType Values (Tag 150)#

ValueDescriptionWhen Sent
0NEWOrder accepted
4CANCELEDOrder cancelled
5REPLACEDOrder replaced/modified
8REJECTEDOrder rejected
CEXPIREDOrder expired
FFILL/TRADEOrder filled
IORDER_STATUSStatus request response

OrdStatus Values (Tag 39)#

ValueDescription
0NEW
1PARTIALLY_FILLED
2FILLED
4CANCELED
5REPLACED
8REJECTED
CEXPIRED

Example ExecutionReport (New Order)#

8=FIXT.1.1|9=XXX|35=8|
37=550e8400-e29b-41d4-a716-446655440000|
11=ORDER-123456|
17=660e8400-e29b-41d4-a716-446655440000|
150=0|39=0|
54=1|38=1000000|48=DE000BASF111|22=4|44=1.0850|
10=XXX|

OrderStatusRequest (35=H)#

Purpose:
The OrderStatusRequest queries the current state of an order. It's useful for reconciliation, recovering state after reconnection, or checking order status without waiting for unsolicited updates.
When to Use:
After reconnecting to recover order state
To check if an order is still active
For periodic reconciliation of order books
When ExecutionReports may have been missed
Business Context:
OrderStatusRequest provides on-demand order state verification. While ExecutionReports are sent automatically for all order events, status requests allow clients to proactively query order state, which is particularly valuable during connection recovery or when implementing audit processes.

OrderStatusRequest Tags#

TagNameRequiredDescription
11ClOrdIDYClient order ID
790OrdStatusReqIDYUnique status request ID

Example Request#

8=FIXT.1.1|9=XXX|35=H|
11=ORDER-123456|790=STATUS-001|
10=XXX|
Response: ExecutionReport (35=8) with ExecType=I (ORDER_STATUS)

OrderCancelRequest (35=F)#

Purpose:
The OrderCancelRequest attempts to cancel an existing order. Cancellation success depends on order state - orders that are already filled or in the process of filling may not be cancellable.
When to Use:
To cancel resting limit orders
When changing trading strategy or risk limits
Before market close to avoid overnight exposure
In response to market condition changes
As part of order management workflows
Business Context:
Order cancellation is a critical risk management tool. Traders need the ability to remove resting orders quickly when market conditions change or when orders are no longer aligned with trading objectives. The platform processes cancellations on a best-effort basis - if an order has already matched, the cancellation will be rejected.

OrderCancelRequest Tags#

TagNameRequiredDescription
11ClOrdIDYNew unique ID for this cancel request
41OrigClOrdIDYClOrdID of order to cancel

Example Cancel Request#

8=FIXT.1.1|9=XXX|35=F|
11=CANCEL-789|
41=ORDER-123456|
10=XXX|
Response: ExecutionReport (35=8) with ExecType=4 (CANCELED)

OrderCancelReplaceRequest (35=G)#

Purpose:
The OrderCancelReplaceRequest modifies an existing order's price, quantity, or time-in-force parameters. It's an atomic operation - the original order is cancelled and a new order is created with updated parameters.
When to Use:
To improve price on resting limit orders
To increase or decrease order quantity
To extend order validity (change TimeInForce or ExpireTime)
When market conditions warrant order adjustment
As part of algorithmic trading strategies
Business Context:
Order modification allows traders to adapt to changing market conditions without the two-step process of cancel-then-new. This reduces timing risk and ensures continuous market presence. The platform handles replace requests atomically - either the modification succeeds completely, or the original order remains unchanged.

OrderCancelReplaceRequest Tags#

TagNameRequiredDescription
11ClOrdIDYClient order ID (from original order)
40OrdTypeY1=MARKET, 2=LIMIT
44PriceNNew limit price
38OrderQtyNNew quantity
59TimeInForceN0=DAY, 1=GTC, 6=GTD
126ExpireTimeNRequired if TIF=6

Example Replace Request#

8=FIXT.1.1|9=XXX|35=G|
11=ORDER-123456|
40=2|44=1.0875|38=1500000|
10=XXX|
Response: ExecutionReport (35=8) with ExecType=5 (REPLACED)
Modified at 2026-03-09 15:06:12
Previous
Market Data
Next
Request for Quote (RFQ)