Place a new order.
Submits an order for asynchronous processing. The order is persisted immediately and queued for execution on the target exchange.
See Orders and Order Types for more information.
Asset Selection:
Provide exactly one of river_id (standard instrument) or custom_asset_id (user-defined basket).
Custom asset orders only support MARKET order type — the system automatically routes
IOC limit orders to each underlying instrument at optimal prices.
Response:
Returns 202 Accepted with the order_id and associated complex_orders ids (TP/SL).
Poll GET /v1/orders/{order_id} or use webhooks to track execution.
API key for programmatic access. Generate one at app.rivermarkets.com under Settings → API Keys.
Schema for creating a new order.
Order type: 'LIMIT' or 'MARKET'
LIMIT, MARKET Time in force: 'FOK', 'GTC', 'GTD', or 'IOC'
FOK, GTC, GTD, IOC Order quantity (number of contracts)
Order direction: true=buy, false=sell
Subaccount to place the order under
Limit price between 0 and 1. Required for LIMIT orders.
0 < x < 1Instrument ID. Mutually exclusive with custom_asset_id.
Custom asset basket UUID. Mutually exclusive with river_id.
Expiry timestamp in UTC(ISO 8601). Required for GTD orders. i.e '2023-11-07T05:31:56Z'
Optional list of conditional orders (TP/SL) to attach to this order.