orders

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 generic_asset_id (cross-exchange generic asset). Generic asset orders are LIMIT only and route to every member exchange where the subaccount holds valid credentials (or to exchanges when given). With IOC the order takes the best prices across those members: price bounds the fills (max for buys, min for sells); liquidity beyond it is not taken and the unfilled remainder is cancelled. With GTC or GTD the order takes what crosses, then rests the remainder at price.

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.

post/v1/orders

Request

  • Base URL
    https://api.rivermarkets.com (the document declares no server; this is the origin it was published from)
  • URL
    https://api.rivermarkets.com/v1/orders
  • Auth
    none declared

Request body

order_type'LIMIT' | 'MARKET' | 'RFQ_TAKER' | 'RFQ_MAKER' required

Order type: 'LIMIT' or 'MARKET'

time_in_force'FOK' | 'GTC' | 'GTD' | 'IOC' required

Time in force: 'FOK', 'GTC', 'GTD', or 'IOC'

qtynumber required

Order quantity (number of contracts)

pricenumber nullable

Limit price between 0 and 1. Required for LIMIT orders.

buy_flagboolean required

Order direction: true=buy, false=sell

post_onlyboolean

If true, the order is rejected instead of taking liquidity. Only valid for LIMIT orders with a resting time in force (GTC or GTD).

cancel_order_on_pauseboolean

Kalshi only: if true, the resting order is cancelled by the exchange when it enters a trading pause. Ignored on other venues.

river_idinteger nullable

Instrument ID. Mutually exclusive with generic_asset_id.

generic_asset_idstring uuid nullable

Generic asset basket UUID. Mutually exclusive with river_id.

subaccount_idstring uuid required

Subaccount to place the order under

expiry_ts_utcstring date-time nullable

Expiry timestamp in UTC(ISO 8601). Required for GTD orders. i.e '2023-11-07T05:31:56Z'

exchangesstring[] nullable

Generic asset orders only: restrict routing to these exchanges (e.g. ['KALSHI', 'POLYMARKET']). Omit to route across all member venues.

splitobject nullable

Generic asset orders only: your own split of the quantity across exchanges in percent, e.g. {'KALSHI': 60, 'POLYMARKET': 40}. Each share rests without redistribution on the exchange's member market takers hit most, rounded down to its qty tick and dropped if under its minimum order size. Whatever the shares do not take, including quantity lost to rounding, the smart split places and redistributes across exchanges. Editing the order re-applies the same percentages. Omit for the smart split.

Response

Successful Response

river_order_idstring uuid required

Unique order identifier

complex_ordersobject required

List of complex river orders id

Changes

    • info

      added the new optional request property

    • info

      added the new RFQ_MAKER enum value to the request property ////

    • info

      added the new RFQ_MAKER enum value to the request property