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)
NewOrderSingle (35=D)| Field Name | Tag | Description | Required | Example |
|---|---|---|---|---|
| ClOrdID | 11 | Unique 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" |
| Account | 1 | The identity of the settlement account. Generally, this should be the Account ID of the end user. | Y | "7c0e7cd7-b2f7-42ec-aa3e-3428ce28a82b" |
| ExecInst | 18 | Only "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" |
| HandlInst | 21 | Only "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" |
| OrdType | 40 | The type of order. "1" = Market "2" = Limit Other order types are not supported. | Y | "2" |
| OrderQty | 38 | The 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" |
| Side | 54 | The direction of the order, from the perspective of the Client. ”1” = Buy ”2” = Sell | Y | "1" |
| Price | 44 | The 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" |
| PriceType | 423 | The type of Price (44). Only ”1” = Price/Percentage is supported. All prices are clean prices. | Y | "1" |
| SecurityID | 48 | The ID of the security. Clients may provide a CUSIP or ISIN. | Y | "912797JE8" |
| SecurityIDSource | 22 | The source of the SecurityID (48). "1" = CUSIP "4" = ISIN | Y | "1" |
| TimeInForce | 59 | The 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" |
| ExpireDate | 432 | The date the order expires, in YYYYMMDD format. Required when TimeInForce (59) is "6" = Good Till Date; ignored otherwise. | C | "20260115" |
| TradingSessionID | 336 | Deprecated. 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" |
| TransactTime | 60 | The time the order was created (GMT). | Y | "20231005-11:48:33" |
| TradingGroup | 5047 | The trading or risk group for which the order is being placed. | Y | "GRP_1" |
| IntroducingBrokerID | 5048 | The 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" |
| Annotation | 5149 | Optional free-form text to attach to the order. Echoed back on Execution Reports in the same tag. | N | "rebalance-2026Q1" |
