Introduction
The Trading APIs enable you to place, modify, cancel, and list orders, plus view execution reports and transaction history. Buildmarkets supports equity and ETF orders with market and limit order types.Trading Endpoints
Supported Asset Classes
equity (Individual stocks — NYSE, NASDAQ, CBOE-listed) and etf (Exchange-traded funds).
Note: “Options, fixed income, and crypto are not currently supported through the REST Trading API.”
Order Types
market — Executes immediately at the best available price (requires symbol, side, quantity or notional). limit — Executes only at the specified price or better (requires limit_price).
Time-in-Force Options
Quantity vs. Notional
Share-based usesquantity (e.g., "quantity": "10" — buy exactly 10 shares). Dollar-based uses notional (e.g., "notional": "500.00" — buy $500 worth). “Use notional for fractional-share-like dollar-cost averaging experiences.” Do not send both quantity and notional in the same request.
Extended Hours Trading
Setextended_hours: true to allow execution during pre-market (4:00 AM–9:30 AM ET) and after-market (4:00 PM–8:00 PM ET) sessions. Extended hours trading is only supported for limit orders with time_in_force: day.
Order Lifecycle
Orders transition through these states:pending_new → new → partially_filled → filled. Terminal/branch states include cancelled, pending_cancel, rejected, and expired.
Idempotency with client_order_id
“Always include a client_order_id — a unique string you generate — on every order request.” If your request times out and you retry, Buildmarkets returns the existing order rather than creating a duplicate. Recommended pattern: {userId}-{symbol}-{action}-{date}-{sequence}.
Next Steps
- Placing Orders — Full request schema and code examples for all order types
- Order Types & Parameters — Deep dive on each order type and when to use it
- Webhooks Overview — Get notified when orders fill or change state