Submit an Order Request

Usage

New orders should be submitted as a NewOrderSingle. This is equivalent to submitting a trade via the POST v1/trading/order/ endpoint. When a Client submits a NewOrderSingle, they should expect to receive an ExecutionReport acknowledging the order (35=8, 150=A) immediately.

Schema: NewOrderSingle (35=D)

Field NameTagDescriptionRequiredExample
ClOrdID11Unique identifier of the message assigned by the Client. This must be unique within the trading day. Otherwise, Moment will reject the order.Y"5f7b9c9f-7b9c-9f7b-9c9f-7b9c9f7b9c9f"
Account1The identity of the settlement account. Generally, this should be the Account ID of the end user.Y"7c0e7cd7-b2f7-42ec-aa3e-3428ce28a82b"
ExecInst18Only "G" = AON is supported. AON is whether the order must be executed in its entirety or not at all. By default, orders are not AON.N"G"
HandlInst21Only "3" = Manual order, best execution is supported. "3" stages the order for manual execution instead of auto-executing it, which is equivalent to setting "bypass_auto_execution": true on a REST order request. If the field is omitted, Moment defaults to routing based on the auto-execution rules set up by your organization. Any other value will cause the order to be rejected.N"3"
OrdType40The type of order.
"1" = Market
"2" = Limit
Other order types are not supported.
Y"2"
OrderQty38The size of the order in par value. To place an order for 1 bond with a face value of $1,000, the Client should provide an OrderQty of 1000. For more information on par values, refer to the Fixed Income Data Glossary.Y"1000"
Side54The direction of the order, from the perspective of the Client.
”1” = Buy
”2” = Sell
Y"1"
Price44The limit price of the order. Required for limit orders (40=2); must be omitted for market orders (40=1). The price should always be specified from the end-user's perspective, inclusive of all markups. Moment will automatically account for the Client's markup when routing the order to the street.C"96.25"
PriceType423The type of Price (44). Only ”1” = Price/Percentage is supported. All prices are clean prices.Y"1"
SecurityID48The ID of the security. Clients may provide a CUSIP or ISIN.Y"912797JE8"
SecurityIDSource22The source of the SecurityID (48).
"1" = CUSIP
"4" = ISIN
Y"1"
TimeInForce59The time in force.
"0" = Day
"6" = Good Till Date, which requires ExpireDate (432)
Other values are not supported. Defaults to "0" = Day if omitted.
N"0"
ExpireDate432The date the order expires, in YYYYMMDD format. Required when TimeInForce (59) is "6" = Good Till Date; ignored otherwise.C"20260115"
TradingSessionID336Deprecated. The value provided here is ignored — all orders are eligible for the full trading session, 7:30AM to 5:30PM ET. The field is kept for backwards compatibility and Moment always echoes "REG" on Execution Reports.N"REG"
TransactTime60The time the order was created (GMT).Y"20231005-11:48:33"
TradingGroup5047The trading or risk group for which the order is being placed.Y"GRP_1"
IntroducingBrokerID5048The organization ID placing the order. Required when the TradingGroup (5047) is shared across multiple organizations. If the TradingGroup maps to a single organization, this field is optional and will be derived automatically. If omitted when multiple organizations are mapped, the order will be rejected.C"01KNJDYBHGYX1CFPATNEHER2CF"
Annotation5149Optional free-form text to attach to the order. Echoed back on Execution Reports in the same tag.N"rebalance-2026Q1"