admin

Admin Orders Place

Place a Schwab order with full audit trail.

Append-only flow:

  1. INSERT row state=DRAFT (intent captured before any network call)
  2. Build Schwab payload via build_order_payload
  3. Call schwab_service.place_order
    • On 2xx → INSERT row state=SENT (with schwab_order_id) → 200 to caller
    • On 4xx → INSERT row state=REJECTED (with reason) → 400 to caller
    • On 401/403 (SchwabAuthExpiredError) → INSERT REJECTED → 401 to caller

ORDER-01: admin-only endpoint + UI confirmation gate ORDER-02: immutable audit log — every transition is a new INSERT ORDER-05: full Schwab order type set (MARKET / LIMIT in 23-01, STOP / STOP_LIMIT in 23-02, TRAILING_STOP in 23-03)

post/api/admin/schwab/orders/place

Request

  • Base URL: https://api.equity-rank.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.equity-rank.com/api/admin/schwab/orders/place
  • Auth: HTTP bearer

Request body

account_hashstring required
symbolstring required
sidestring required
quantitynumber required
order_type'MARKET' | 'LIMIT' | 'STOP' | 'STOP_LIMIT' | 'TRAILING_STOP' required
asset_type'EQUITY' | 'OPTION'
limit_pricenumber nullable
stop_pricenumber nullable
trailing_offsetnumber nullable
trailing_basis'PERCENT' | 'VALUE'

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.