Tradier API

17 endpoints in this group.

GET /api/tradier/accounts

Tradier Accounts

Responses

CodeDescription
200Successful Response

GET /api/tradier/callback

Tradier Callback

Exchange code for tokens and persist them.

Plan-gate runs BEFORE the token write so a tenant at their cap cannot silently consume a slot via OAuth. State is verified BEFORE either, to prevent CSRF broker-bind.

Parameters

NameInTypeRequiredDescription
codequerystringrequiredOne-time auth code from Tradier
statequery—optionalCSRF state nonce echoed back from Tradier

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/tradier/connect

Tradier Connect

Return the Tradier OAuth authorisation URL + CSRF state nonce.

Pentest C4: state is now a server-signed token pinned to this user + broker + tenant; /callback rejects unsigned, stale, or cross-user state to prevent CSRF broker-bind.

Responses

CodeDescription
200Successful Response

POST /api/tradier/disconnect

Tradier Disconnect

Responses

CodeDescription
200Successful Response

GET /api/tradier/options/chain

Tradier Options Chain

Parameters

NameInTypeRequiredDescription
symbolquerystringrequired
expirationquerystringrequiredYYYY-MM-DD expiration
greeksquerybooleanoptional

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/tradier/options/expirations

Tradier Options Expirations

Parameters

NameInTypeRequiredDescription
symbolquerystringrequired

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/tradier/options/strikes

Tradier Options Strikes

Parameters

NameInTypeRequiredDescription
symbolquerystringrequired
expirationquerystringrequiredYYYY-MM-DD expiration

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/tradier/orders

Tradier List Orders

Parameters

NameInTypeRequiredDescription
pagequeryintegeroptional
page_sizequeryintegeroptional

Responses

CodeDescription
200Successful Response
422Validation Error

POST /api/tradier/orders/equity

Tradier Place Equity Order

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

POST /api/tradier/orders/multileg

Tradier Place Multileg Order

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

POST /api/tradier/orders/option

Tradier Place Option Order

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

DELETE /api/tradier/orders/{order_id}

Tradier Cancel Order

Parameters

NameInTypeRequiredDescription
order_idpathstringrequired

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/tradier/orders/{order_id}

Tradier Get Order

Parameters

NameInTypeRequiredDescription
order_idpathstringrequired

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/tradier/positions

Tradier Positions

Fetch Tradier positions for the requesting tenant.

Wrapped in sync_orchestrator.sync_attempt (Phase C ) so each request writes a row to broker_sync_log. sync_kind="manual" because this is a user-initiated read, not a scheduled sync.

The orchestrator handles broker_sync_log audit + reraises so the existing HTTPException handlers below preserve the legacy 401/502 response codes.

Parameters

NameInTypeRequiredDescription
account_idquery—optionalTradier account_number; omit to fan out

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/tradier/quotes

Tradier Quotes

Parameters

NameInTypeRequiredDescription
symbolsquerystringrequiredComma-separated ticker symbols

Responses

CodeDescription
200Successful Response
422Validation Error

POST /api/tradier/refresh

Tradier Refresh

Responses

CodeDescription
200Successful Response

GET /api/tradier/status

Tradier Status

Return whether Tradier OAuth is wired up for the calling tenant.

Responses

CodeDescription
200Successful Response

Occasional BlitzPulse product updates and offers, sent only if you tick the box and confirm your address.

How we handle your email

Footer Disclaimer BlitzPulse is educational decision support only. Not investment, tax, or legal advice. Not a broker. Trade at your own risk.