Skip to main content

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 uses quantity (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

Set extended_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_newnewpartially_filledfilled. 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