Skip to main content
get_order returns the order, and order_updated pushes it without orderType, timeInForce, limitPrice, fills, mints, burns, fees and feeTotal. Every field is in the API reference.

Identifiers

Record regulatoryId from the ack: it is there for that reason.

Quantities

Unlike a status, leavesQuantity cannot arrive as a value you have no mapping for. The three are the broker’s arithmetic, passed through unchanged; if they do not reconcile, treat the order as a fault and contact Securitize with the traceId.

Fees

Every get_order answer carries fees, one per trade the order filled in, and feeTotal, their sum. A fee is charged when its trade reaches the broker’s ledger, which is after the fill, so the list can grow after the order has filled: read the order again rather than taking an empty list as final.
feeTotal counts every status: it is what the order is charged. A trade too small to owe a cent at the rate carries no fee. Fees are not pushed: get_order is where they are read.

Limits on an order

  • Every order is placed by quantity. An order by notional answers INVALID_ORDER.
  • A buy is a LIMIT order paid from your own cash. quantity × limitPrice plus its fees is held against the available of get_cash_balance_v2 until the order fills or ends. A buy that cash does not cover, and a MARKET buy, answer INVALID_ORDER. See Your own cash.
  • The broker checks the account as a whole too: a buy it cannot pay for answers INVALID_ORDER with the message Insufficient buying power.
  • A sell the redemption wallet cannot cover is refused with INVALID_ORDER, and a sell must be placed by quantity. See Sell shares and redeem CETs.
  • The symbol is checked before the order is sent. A symbol your account does not trade, mistyped or not, answers INVALID_ORDER; check it against get_symbols. A symbol your account trades that the broker no longer recognises answers INVALID_SYMBOL naming it.
  • Decimal places: quantity 5, limitPrice 4.
  • Tick size: a limitPrice of 1.00 or more must be in whole cents, at most 2 decimal places. A finer price is refused by the broker as sub-penny (Risk validation: Sub-penny trading is not allowed). Only a price under 1.00 may use 4 decimal places.
  • limitPrice is required on a LIMIT order and refused on a MARKET one, which only a sell may be.
  • Only DAY is supported as timeInForce, and it is the default. IOC and FOK are not offered through the broker’s API and answer INVALID_ORDER. A GTC order is acknowledged and then refused by the broker, arriving as REJECTED.

Status

An update can skip states: an order can go from WORKING straight to FILLED. Treat the list as open. On a status you do not recognise, fall back to the quantities instead of failing; a status may be added. brokerStatus is the broker’s own code, for support conversations about one order; branch on status.