Usage
The New Order Single message is used to place a new trade with Moment. It is equivalent to submitting a trade via the POST v1/trading/order/ endpoint.
Upcoming change: IntroducingBrokerID (5048) becomes requiredTag 5048 is currently required only when the TradingGroup (5047) is shared across multiple organizations. It is becoming required on every New Order Single, regardless of how many organizations the TradingGroup maps to. Clients should send tag 5048 on all orders; once the change takes effect, orders that omit it will be rejected.
Schema
| 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. | 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 on every order, including when the TradingGroup (5047) maps to a single organization. Moment does not derive this field, so an order that omits it will be rejected. | Y | "01KNJDYBHGYX1CFPATNEHER2CF" |
| Annotation | 5149 | Optional free-form text to attach to the order. Echoed back on Execution Reports in the same tag. | N | "rebalance-2026Q1" |
| NoExternalMetadata | 5150 | Number of client-supplied metadata entries that follow, each a key (5151) and value (5152) pair stored on the order and echoed back on every Execution Report. Keys must be unique and values must not be empty, and both are limited to printable ASCII, 0x20 to 0x7E. Up to 50 entries are accepted; an order breaking any of these rules is rejected. | N | "2" |
| ExternalMetadataKey | 5151 | The name of a metadata entry. Up to 64 bytes. | N | "DESK" |
| ExternalMetadataValue | 5152 | The value of a metadata entry. Up to 256 bytes. | N | "EMEA3" |
