Skip to content

Submit an order

POST
/orders/submit
curl --request POST \
--url http://localhost:3001/orders/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{"account_id":null,"client_order_id":"my-ref-001","instrument_id":null,"limit_price":null,"order_id":"3f6b1c2e-8a4d-4e5f-9b21-1c2d3e4f5a6b","order_type":"market","portfolio_id":"b2c3d4e5-6f70-4812-93a4-556677889900","quantity":1,"side":"buy","symbol":"SPY260918C00770000@OPRA","time_in_force":"day","venue":null}'
Media typeapplication/json

Wire payload for POST /orders/submit. account_id is optional — when omitted it is resolved from the portfolio’s default_account_id; when present it overrides.

object
account_id

Optional account UUID; omit to use the portfolio’s default account.

string
nullable

Example

null
client_order_id
required

Your own reference string, echoed back on updates.

string

Example

my-ref-001
instrument_id

Instrument surrogate key (BIGINT as string), not a UUID. Omit when naming the instrument by symbol instead.

string
nullable

Example

null
limit_price

Required for limit orders; omit for market.

number format: double
nullable

Example

null
order_id
required

Client-generated UUID; also the idempotency key (a repeat is a 409).

string

Example

3f6b1c2e-8a4d-4e5f-9b21-1c2d3e4f5a6b
order_type
required
string
Allowed values: market limit
portfolio_id
required

Portfolio UUID the order books against.

string

Example

b2c3d4e5-6f70-4812-93a4-556677889900
quantity
required
number format: double

Example

1
side
required
string
Allowed values: buy sell
symbol

The instrument’s venue-native symbol, as an alternative to instrument_id. Accepts the Symbol@Venue shorthand (SPY260918C00770000@OPRA) or a bare symbol qualified by the venue field.

string
nullable

Example

SPY260918C00770000@OPRA
time_in_force
required
string
Allowed values: day gtc ioc fok
venue

Venue (MIC) qualifying symbol. Omit when symbol already carries @VENUE, or when the symbol is unique across venues.

string
nullable

Example

null

Order accepted and routed

Validation error

No trade grant for principal/portfolio/account

Order already exists

Instrument not found, inactive, no tradeable broker mapping, or rejected by pre-trade risk

Broker rejected the order

No broker adapter configured