Create an Order

Places a request for a new order for the given account.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Each order has a unique identifier generated by Moment. The ID will be returned when an order is placed and can be used to check the status of the order via the GET /v1/trading/order/{id}/ endpoint. Updates on open orders at Moment will also be sent over the real-time API, which is the recommended method of maintaining order state.

string
enum
deprecated

The booking type for the account.

Allowed:
account_configuration
object

Account configuration for the allocation

string | null

Unique ID of user account

boolean
Defaults to false

If set to true, the entire order quantity will be filled or none at all. There will be no partial fills.

allocations
object

Allocations for the order

amount
object
required

The Amount of an order with a specified type indicating how the amount is represented.

  • Par: Represents the order size in face value (e.g., a corporate bond with a $1,000 face value).
  • Notional: Represents the order size in notional dollar value.
  • Shares: Represents the order size in number of shares (for equities).
string
length ≤ 1024

Client-provided custom metadata for the order.

booking_instructions
object

Client-provided information to configure trade booking for the order, as a map from string to string. Passing a multi-layer JSON map or something other than "string":"string" key-value pairs will result in an error. The specific contents of this field should be determined in conjunction with the back-office integration.

boolean
Defaults to false

Flag to indicate if auto execution rules should be bypassed

string
required

Client-provided unique ID for the order; for example, to cross-reference with an internal system. Must be unique within the trading day, otherwise duplicate orders will be rejected during pre-trade checks.

date-time

The time until which the counter is valid

string

The Moment-provided custodian ID that the corresponding account belongs to.

For organizations with CTM enabled, this field should be left empty for both single and block fixed-income orders.
For brokerages firms, custodian_id and account_id are both required to identify the inventory account.
For RIAs, this field is optional as each account allocation has its own custodian_id field.

When available, it is recommended to populate this field.

execution_instructions
array of objects

A list of execution instructions for the order

execution_instructions
boolean
Defaults to false
deprecated

Deprecated. The value provided here is ignored — orders are always
treated as if explicit cancellation is required. The field is kept
for backwards compatibility and will be removed in a future release.

boolean
Defaults to false

(default) false. If true, eligible for execution outside regular trading hours. In live mode, trading hours are from 9:30 am to 4:00 pm ET. Extended hours are from 7:30 am to 5:30 pm ET. For paper trading, normal trading hours are from 9:30 am to 4:00 pm ET. Extended hours are from 1:00 am to 11:00 pm ET.

fees
array of objects

Custom fees to be applied to the order. If provided, this list overrides the default fees defined in the system.

For each fee recipient based on the trade structure, a separate fee object should be included.
For example, in a trade flow like:

Street <-> Executing Broker <-> Introducing Broker <-> Customer

where both brokers are charging fees, you would specify:

"fees": [
{
"fee_type": "markup",
"fee_amount_type": "percentage_of_par",
"fee_amount": 0.01,
"recipient": "<org_id_of_executing_broker>"
},
{
"fee_type": "markup",
"fee_amount_type": "percentage_of_par",
"fee_amount": 0.05,
"recipient": "<org_id_of_introducing_broker>"
}
]

fees
boolean | null

Flag to indicate if the order is for a block trade, used for post order allocation

group_members
array of objects

List of group members for the order

group_members
string

The introducing broker ID to use for this specific order. If not specified, will use the introducing broker ID from the bulk request.

string
required

Instrument CUSIP or ISIN

boolean
Defaults to false

Flag to indicate if the order is a counter

boolean
Defaults to false

Flag to indicate if the order is a group order

number | null
≥ 0

The Percentage Price is represented as a percentage of par. For a typical $1,000 par value bond, a percentage price of $90 values the bond at $900. This is a clean price, which does not include accrued interest.

metadata
object | null

Custom metadata for the order. This can be used to store additional information about the order that is not covered by the other fields. The keys and values are both strings.

order_rfq_ids
array of strings

A list of existing RFQ IDs to associate with this order.

order_rfq_ids
string

Reason for why the order requires review. Only applicable when review_required is true.

boolean
Defaults to false

Flag to indicate if the order requires manual review before execution.

string

The risk group ID to use for this specific order. If not specified, will use the risk group ID from the bulk request.

int64 | null

The targeted settlement date for the order in the format of YYYYMMDD, like 20090101

string
enum
required

Represents which side this order is on:

  • buy
  • sell
Allowed:
string
enum
required
Defaults to limit

Represents the types of orders Moment currently supports.

  • limit
  • rfq_response
  • market
  • advisor_bw
Allowed:
Headers
string
Responses

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json